package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-12.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum12 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {-1,-1,49,16,-23,31,-52,46,112,60,-125,72,-20,82,27,91,29,97,-35,100,105,102,-32,101,70,99,-27,94,-4,88,-16,81,-12,73,127,65,-50,56,63,48,32,40,-91,32,-7,25,93,20,-36,15,112,12,32,10,-108,8,13,8,25,8,-107,8,59,9,-54,9,-35,9,-114,9,-121,8,-101,6,-79,3,-117,-1,-116,-6,-118,-12,-82,-19,25,-26,5,-34,-109,-43,67,-51,62,-59,-55,-67,51,-73,-92,-79,119,-83,-63,-86,-92,-87,51,-86,125,-84,86,-80,-69,-75,110,-68,78,-60,15,-51,-113,-42,79,-32,15,-22,-97,-13,-91,-4,42,5,-118,12,-20,18,16,24,27,28,13,31,-51,32,124,33,100,33,-95,32,120,31,58,30,-22,28,-47,27,58,27,52,27,12,28,-101,29,9,32,78,35,79,39,-10,43,2,49,79,54,-98,59,-101,64,26,69,-102,72,47,75,106,76,45,76,74,74,-124,70,34,65,7,58,70,49,10,39,-122,27,-49,14,-114,1,-33,-13,42,-26,-76,-40,-59,-53,-21,-65,84,-75,62,-84,-38,-92,62,-97,-85,-101,18,-102,109,-102,-103,-100,-123,-96,-26,-91,-93,-84,86,-76,-43,-68,-60,-59,-2,-50,16,-40,-44,-32,21,-23,-92,-16,106,-9,114,-3,105,2,-121,6,-65,9,74,12,87,14,-54,15,-24,16,-23,17,-25,18,66,20,-71,21,-105,23,-20,25,-67,28,16,32,-24,35,4,40,92,44,-44,48,58,53,114,57,50,61,95,64,-49,66,86,68,-47,68,54,68,118,66,-117,63,121,59,88,54,20,48,33,41,120,33,91,25,-19,16,68,8,-32,-1,-44,-9,64,-16,90,-23,55,-29,-53,-35,119,-39,24,-42,-91,-45,22,-46,48,-47,33,-47,-101,-47,-122,-46,-79,-45,-19,-44,55,-42,89,-41,61,-40,-53,-40,-4,-40,-48,-40,65,-40,94,-41,59,-42,-5,-44,-52,-45,-80,-46,-40,-47,117,-47,-89,-47,-66,-46,-125,-44,64,-41,-12,-38,-73,-33,119,-27,99,-20,-5,-13,101,-4,94,5,-43,14,-95,24,86,34,-46,43,-25,52,86,61,-15,68,-100,75,0,81,37,85,-35,87,56,89,20,89,-110,87,-81,84,-110,80,83,75,8,69,-6,61,79,54,43,46,-55,37,70,29,-65,20,127,12,-83,4,63,-3,100,-10,-15,-17,71,-22,66,-27,-40,-32,11,-35,-65,-39,-42,-42,126,-44,-124,-46,-36,-48,116,-49,40,-50,40,-51,74,-52,-111,-53,2,-53,-111,-54,89,-54,99,-54,-95,-54,68,-53,50,-52,-95,-51,116,-49,-68,-47,-120,-44,-48,-41,-69,-37,-2,-33,-76,-28,-52,-23,55,-17,13,-11,-27,-6,-45,0,-70,6,-111,12,39,18,-81,23,-90,28,60,33,85,37,-17,40,25,44,-101,46,-112,48,-3,49,-20,50,93,51,112,51,14,51,96,50,94,49,46,48,-78,46,37,45,105,43,-102,41,-82,39,-111,37,115,35,54,33,-37,30,84,28,-92,25,-108,22,111,19,13,16,95,12,111,8,13,4,-116,-1,-49,-6,-44,-11,-85,-16,64,-21,-28,-27,-123,-32,59,-37,16,-42,37,-47,119,-52,63,-56,-124,-60,80,-63,-70,-66,-42,-68,-92,-69,60,-69,-103,-69,-63,-68,-69,-66,-113,-63,26,-59,89,-55,74,-50,-41,-45,24,-38,-81,-32,-83,-25,-11,-18,120,-10,55,-2,-36,5,97,13,-65,20,-48,27,-121,34,-21,40,-93,46,-60,51,58,56,-3,59,24,63,80,65,-56,66,109,67,83,67,122,66,-31,64,-97,62,-69,59,78,56,97,52,-3,47,86,43,104,38,86,33,39,28,-40,22,-81,17,-92,12,-65,7,15,3,-101,-2,60,-6,77,-10,-97,-14,54,-17,11,-20,-9,-24,63,-26,-74,-29,90,-31,27,-33,-24,-36,-24,-38,7,-39,63,-41,-111,-43,10,-44,-102,-46,107,-47,112,-48,-73,-49,80,-49,70,-49,-98,-49,95,-48,-103,-47,76,-45,-104,-43,81,-40,-123,-37,49,-33,81,-29,-45,-25,-49,-20,-11,-15,65,-9,-77,-4,48,2,-66,7,16,13,35,18,-10,22,116,27,-117,31,90,35,-112,38,89,41,-88,43,-121,45,10,47,20,48,-59,48,38,49,60,49,23,49,-70,48,45,48,-128,47,-98,46,-91,45,91,44,0,43,102,41,-116,39,98,37,-66,34,-48,31,119,28,-97,24,77,20,115,15,-9,9,34,4,-31,-3,64,-9,80,-16,24,-23,-28,-31,-53,-38,-40,-45,74,-51,29,-57,-82,-63,8,-67,59,-71,-128,-74,-57,-76,67,-76,-31,-76,-82,-74,-94,-71,-98,-67,-71,-62,-108,-56,58,-49,109,-42,13,-34,11,-26,-5,-19,-45,-11,100,-3,-115,4,44,11,74,17,-117,22,7,27,-73,30,-96,33,-20,35,95,37,61,38,-115,38,126,38,25,38,-93,37,-5,36,90,36,-44,35,121,35,89,35,112,35,-72,35,62,36,-28,36,-104,37,82,38,-15,38,97,39,123,39,50,39,71,38,-29,36,-40,34,30,32,-81,28,107,24,-90,19,67,14,102,8,33,2,118,-5}; }
	private static byte[] data1(){ return new byte[] {-49,-12,46,-18,-69,-25,-100,-31,-15,-37,-55,-42,101,-46,-43,-50,18,-52,50,-54,35,-55,-5,-56,-95,-55,-7,-54,-7,-52,113,-49,97,-46,-122,-43,-38,-40,45,-36,117,-33,-92,-30,-121,-27,38,-24,116,-22,-124,-20,102,-18,7,-16,115,-15,-22,-14,91,-12,9,-10,16,-8,88,-6,7,-3,66,0,-7,3,109,8,61,13,-105,18,83,24,107,30,-73,36,8,43,39,49,3,55,89,60,5,65,-38,68,-85,71,95,73,-41,73,5,73,-45,70,90,67,-93,62,-67,56,-57,49,-11,41,68,33,55,24,-38,14,114,5,47,-4,43,-13,-36,-22,77,-29,-97,-36,-7,-42,63,-46,-53,-50,116,-52,45,-53,-17,-54,-112,-53,-23,-52,-10,-50,127,-47,84,-44,77,-41,68,-38,23,-35,-79,-33,-18,-31,-61,-29,58,-27,54,-26,-46,-26,26,-25,32,-25,10,-25,5,-25,11,-25,72,-25,-20,-25,1,-23,-45,-22,32,-19,35,-16,-49,-13,50,-8,43,-3,-41,2,-54,8,11,15,115,21,-47,27,30,34,-22,39,57,45,-43,49,-91,53,-103,56,126,58,105,59,56,59,26,58,-9,55,-5,52,63,49,-24,44,24,40,-2,34,-86,29,102,24,90,19,-122,14,40,10,25,6,-76,2,-34,-1,-121,-3,-64,-5,84,-6,48,-7,96,-8,-80,-9,3,-9,48,-10,5,-11,-92,-13,-49,-15,-118,-17,-69,-20,116,-23,-92,-27,-127,-31,21,-35,121,-40,-35,-45,96,-49,57,-53,-116,-57,-115,-60,89,-62,52,-63,13,-63,20,-62,81,-60,-57,-57,112,-52,87,-46,44,-39,-34,-32,81,-23,65,-14,-87,-5,4,5,61,14,25,23,106,31,-13,38,-71,45,77,51,-61,55,7,59,17,61,5,62,-72,61,104,60,41,58,34,55,-125,51,104,47,6,43,-121,38,22,34,-49,29,-54,25,52,22,12,19,101,16,49,14,88,12,-5,10,-23,9,18,9,81,8,110,7,-118,6,104,5,-12,3,19,2,-65,-1,-55,-4,118,-7,-87,-11,110,-15,-30,-20,-5,-25,23,-29,50,-34,127,-39,19,-43,42,-47,-60,-51,41,-53,91,-55,107,-56,116,-56,109,-55,86,-53,33,-50,-67,-47,14,-42,15,-37,114,-32,31,-26,-2,-21,-48,-15,-119,-9,20,-3,30,2,-85,6,-83,10,15,14,0,17,44,19,-47,20,-11,21,-80,22,50,23,103,23,124,23,-103,23,-50,23,52,24,-17,24,-30,25,52,27,-44,28,-58,30,-14,32,76,35,-74,37,22,40,73,42,45,44,-111,45,113,46,-93,46,12,46,-101,44,33,42,-39,38,-102,34,-121,29,-104,23,-36,16,-88,9,5,2,32,-6,37,-14,67,-22,-112,-30,108,-37,-21,-44,46,-49,85,-54,105,-58,-105,-61,-27,-63,60,-63,-82,-63,15,-61,107,-59,-116,-56,96,-52,-69,-48,125,-43,-113,-38,-79,-33,-51,-28,-54,-23,-123,-18,14,-13,30,-9,-60,-6,5,-2,-37,0,82,3,-101,5,122,7,47,9,-64,10,75,12,-9,13,-101,15,100,17,85,19,123,21,-33,23,92,26,-11,28,-94,31,81,34,-25,36,92,39,-119,41,82,43,-70,44,-116,45,-47,45,110,45,104,44,-79,42,79,40,56,37,-107,33,117,29,-36,24,-13,19,-55,14,99,9,19,4,-28,-2,-31,-7,48,-11,-68,-16,-40,-20,117,-23,-112,-26,50,-28,89,-30,-33,-32,-11,-33,105,-33,50,-33,58,-33,100,-33,-69,-33,25,-32,123,-32,-55,-32,7,-31,42,-31,52,-31,40,-31,12,-31,-14,-32,-17,-32,1,-31,56,-31,-73,-31,-126,-30,-46,-29,116,-27,-103,-25,59,-22,107,-19,35,-15,114,-11,37,-6,49,-1,-103,4,55,10,18,16,-48,21,120,27,-30,32,-7,37,-88,42,-69,46,37,50,-37,52,-49,54,-16,55,71,56,-63,55,123,54,110,52,-75,49,81,46,107,42,25,38,108,33,-128,28,87,23,52,18,27,13,26,8,77,3,-82,-2,69,-6,58,-10,-117,-14,44,-17,29,-20,72,-23,-40,-26,-80,-28,-54,-30,27,-31,-96,-33,74,-34,42,-35,57,-36,112,-37,-55,-38,84,-38,6,-38,-10,-39,23,-38,120,-38,35,-37,18,-36,78,-35,-40,-34,-71,-32,-24,-30,-123,-27,88,-24,117,-21,-46,-18,107,-14,73,-10,46,-6,42,-2,36,2,31,6,24,10,-43,13,98,17,-79,20,-67,23,125,26,-3,28,21,31,-51,32,53,34,61,35,2,36,102,36,-125,36,88,36,-17,35,80,35,116,34,115,33,71,32,-12,30,-120,29,-30,27,47,26,100,24,111,22,102,20,26,18,-60,15,80,13,-80,10,-19,7,7,5,-37,1,-80,-2,102,-5,3,-8,-113,-12,-4,-16,124,-19,13,-22,-87,-26,111,-29,70,-32,113,-35,-44,-38,-116,-40,-102,-42,9,-43,-25,-45,48,-45,-4,-46,51,-45,-8,-45,55,-43,-16,-42,30,-39,-70,-37,-54,-34,51,-30,22,-26,40,-22,-124,-18,10,-13,-65,-9,-93,-4,116,1,67,6,-9,10,-116,15,10,20,41,24}; }
	private static byte[] data2(){ return new byte[] {6,28,-124,31,-89,34,98,37,-70,39,-114,41,-25,42,-55,43,44,44,32,44,-111,43,-103,42,50,41,108,39,68,37,-45,34,31,32,51,29,25,26,-34,22,117,19,23,16,-77,12,90,9,13,6,-73,2,-99,-1,-103,-4,-64,-7,2,-9,110,-12,-33,-15,-110,-17,103,-19,92,-21,114,-23,-109,-25,-26,-27,94,-28,-20,-30,-90,-31,112,-32,116,-33,-96,-34,-4,-35,-111,-35,89,-35,111,-35,-63,-35,96,-34,77,-33,-120,-32,38,-30,13,-28,56,-26,-66,-24,126,-21,-95,-18,-33,-15,77,-11,-35,-8,-123,-4,55,0,1,4,-93,7,38,11,-120,14,-78,17,-64,20,112,23,-34,25,-3,27,-43,29,91,31,-89,32,-104,33,71,34,-76,34,-26,34,-31,34,-90,34,63,34,-83,33,-16,32,5,32,-12,30,-60,29,97,28,-44,26,21,25,2,23,-44,20,91,18,-86,15,-80,12,86,9,-38,5,23,2,36,-2,-3,-7,-77,-11,60,-15,-39,-20,126,-24,70,-28,62,-32,113,-36,16,-39,32,-42,-86,-45,-50,-47,-128,-48,-24,-49,-12,-49,-79,-48,21,-46,34,-44,-50,-42,2,-38,-82,-35,-65,-31,36,-26,-47,-22,-110,-17,83,-12,13,-7,-100,-3,17,2,31,6,-36,9,49,13,38,16,-86,18,-25,20,-99,22,-2,23,4,25,-57,25,95,26,-74,26,-19,26,13,27,38,27,57,27,94,27,122,27,-83,27,-42,27,18,28,53,28,86,28,87,28,50,28,-35,27,48,27,80,26,16,25,123,23,127,21,32,19,70,16,40,13,-80,9,-9,5,-8,1,-57,-3,-119,-7,91,-11,50,-15,68,-19,112,-23,18,-26,8,-29,120,-32,93,-34,-60,-36,-93,-37,19,-37,-3,-38,99,-37,43,-36,94,-35,-45,-34,-108,-32,121,-30,-128,-28,-107,-26,-69,-24,-56,-22,-53,-20,-84,-18,126,-16,72,-14,-21,-13,-125,-11,17,-9,-87,-8,107,-6,43,-4,28,-2,49,0,-118,2,21,5,1,8,5,11,79,14,-72,17,78,21,-5,24,-105,28,30,32,107,35,126,38,35,41,91,43,-6,44,2,46,91,46,-6,45,-39,44,-11,42,109,40,33,37,75,33,-62,28,-22,23,-87,18,60,13,-91,7,24,2,-113,-4,90,-9,-127,-14,15,-18,31,-22,-87,-26,-42,-29,-81,-31,14,-32,15,-33,126,-34,127,-34,-20,-34,-84,-33,-76,-32,-26,-31,49,-29,-115,-28,-31,-27,33,-25,68,-24,75,-23,40,-22,-28,-22,-127,-21,12,-20,-97,-20,39,-19,-60,-19,-120,-18,119,-17,-78,-16,67,-14,30,-12,75,-10,-43,-8,-69,-5,7,-1,-120,2,61,6,28,10,16,14,-4,17,-25,21,-124,25,-34,28,-40,31,95,34,112,36,-27,37,-56,38,15,39,-66,38,-36,37,106,36,-122,34,46,32,-123,29,-103,26,111,23,63,20,9,17,-23,13,-27,10,1,8,99,5,13,3,-15,0,26,-1,122,-3,-9,-5,-79,-6,-122,-7,105,-8,71,-9,3,-10,-71,-12,68,-13,-87,-15,-44,-17,-55,-19,-105,-21,69,-23,-44,-26,90,-28,-25,-31,-114,-33,105,-35,-115,-37,11,-38,5,-39,-124,-40,-98,-40,75,-39,-76,-38,-76,-36,-119,-33,-40,-30,-50,-26,61,-21,33,-16,85,-11,-35,-6,102,0,-22,5,78,11,108,16,75,21,-105,25,99,29,-112,32,29,35,-2,36,69,38,-44,38,-53,38,41,38,18,37,-118,35,-85,33,-120,31,55,29,-41,26,102,24,16,22,-54,19,-71,17,-61,15,15,14,104,12,4,11,-66,9,-111,8,111,7,55,6,5,5,-73,3,69,2,-97,0,-80,-2,-106,-4,75,-6,-70,-9,8,-11,32,-14,24,-17,18,-20,24,-23,60,-26,-119,-29,28,-31,5,-33,95,-35,42,-36,117,-37,81,-37,-77,-37,-87,-36,34,-34,24,-32,-116,-30,97,-27,-114,-24,-21,-21,121,-17,25,-13,-52,-10,87,-6,-65,-3,-20,0,-33,3,126,6,-14,8,-16,10,-86,12,22,14,62,15,72,16,12,17,-77,17,73,18,-43,18,120,19,23,20,-52,20,-99,21,-126,22,-125,23,-106,24,-85,25,-61,26,-59,27,-82,28,84,29,-52,29,-26,29,-83,29,-1,28,-35,27,42,26,5,24,100,21,71,18,-77,14,-82,10,92,6,-37,1,32,-3,95,-8,-118,-13,-16,-18,-119,-22,127,-26,-50,-30,-93,-33,-22,-36,-41,-38,94,-39,-125,-40,67,-40,-107,-40,125,-39,-31,-38,-70,-36,-12,-34,125,-31,67,-28,41,-25,41,-22,44,-19,32,-16,20,-13,-48,-11,105,-8,-45,-6,12,-3,53,-1,26,1,-33,2,-121,4,24,6,-96,7,56,9,-70,10,70,12,-37,13,-127,15,66,17,-5,18,-68,20,119,22,43,24,-47,25,72,27,-103,28,-87,29,121,30,-8,30,23,31,-38,30,55,30,46,29,-67,27,-36,25,-90,23,33,21,80,18,66,15,-11,11,-101,8,50,5,-45,1,123,-2,76,-5,47,-8,98,-11,-42,-14,-112,-16,-108,-18,-47,-20,110,-21,79,-22}; }
	private static byte[] data3(){ return new byte[] {118,-23,-46,-24,104,-24,23,-24,-1,-25,-10,-25,9,-24,33,-24,70,-24,114,-24,-99,-24,-44,-24,10,-23,93,-23,-77,-23,40,-22,-76,-22,116,-21,88,-20,-109,-19,-16,-18,-104,-16,-124,-14,-73,-12,74,-9,7,-6,5,-3,55,0,-111,3,14,7,-89,10,50,14,-89,17,-1,20,35,24,20,27,-93,29,-38,31,-91,33,0,35,-22,35,78,36,65,36,-80,35,-75,34,68,33,106,31,62,29,-63,26,9,24,23,21,-8,17,-56,14,-104,11,93,8,58,5,15,2,25,-1,74,-4,-101,-7,31,-9,-53,-12,-109,-14,-100,-16,-46,-18,50,-19,-70,-21,92,-22,50,-23,42,-24,78,-25,-120,-26,-12,-27,116,-27,41,-27,5,-27,12,-27,65,-27,-80,-27,71,-26,32,-25,34,-24,104,-23,-18,-22,-99,-20,-124,-18,-103,-16,-41,-14,70,-11,-38,-9,-127,-6,47,-3,-24,-1,-92,2,101,5,4,8,-121,10,-23,12,37,15,68,17,28,19,-62,20,44,22,94,23,88,24,24,25,-96,25,-24,25,3,26,-27,25,-97,25,36,25,-116,24,-62,23,-31,22,-42,21,-88,20,98,19,3,18,-117,16,-12,14,57,13,108,11,-109,9,-104,7,-113,5,86,3,37,1,-33,-2,-115,-4,54,-6,-45,-9,103,-11,12,-13,-64,-16,-118,-18,100,-20,96,-22,-127,-24,-36,-26,99,-27,39,-28,41,-29,112,-30,3,-30,-35,-31,8,-30,125,-30,79,-29,95,-28,-62,-27,105,-25,83,-23,-109,-21,-15,-19,-113,-16,78,-13,54,-10,56,-7,96,-4,124,-1,-100,2,-79,5,-74,8,-79,11,124,14,20,17,-122,19,-75,21,-71,23,111,25,-43,26,-4,27,-50,28,86,29,-102,29,-126,29,44,29,-123,28,-97,27,120,26,19,25,-124,23,-65,21,-40,19,-61,17,-99,15,103,13,36,11,-40,8,-115,6,48,4,-18,1,-72,-1,-107,-3,120,-5,108,-7,121,-9,-91,-11,-22,-13,62,-14,-72,-16,48,-17,-37,-19,-101,-20,124,-21,120,-22,-114,-23,-53,-24,50,-24,-72,-25,113,-25,75,-25,99,-25,-101,-25,25,-24,-68,-24,-99,-23,-61,-22,9,-20,-109,-19,64,-17,40,-15,67,-13,121,-11,-55,-9,54,-6,-80,-4,57,-1,-50,1,87,4,-61,6,37,9,102,11,-108,13,-114,15,88,17,-13,18,96,20,-99,21,-92,22,109,23,15,24,118,24,-75,24,-57,24,-86,24,107,24,1,24,117,23,-62,22,-19,21,-1,20,-22,19,-76,18,80,17,-50,15,50,14,103,12,124,10,105,8,27,6,-62,3,67,1,-84,-2,-4,-5,42,-7,96,-10,-102,-13,-39,-16,50,-18,-88,-21,58,-23,21,-25,46,-27,-112,-29,74,-30,88,-31,-53,-32,-87,-32,-28,-32,-112,-31,-102,-30,9,-28,-55,-27,-36,-25,52,-22,-60,-20,-110,-17,111,-14,102,-11,87,-8,77,-5,57,-2,-6,0,-107,3,-1,5,56,8,76,10,21,12,-91,13,-1,14,36,16,28,17,-13,17,-99,18,35,19,-113,19,-18,19,57,20,120,20,-89,20,-49,20,-23,20,-4,20,-10,20,-32,20,-75,20,100,20,-10,19,79,19,-127,18,-122,17,73,16,-31,14,30,13,67,11,35,9,-34,6,104,4,-44,1,19,-1,86,-4,-101,-7,-28,-10,77,-12,-69,-15,114,-17,92,-19,-126,-21,-9,-23,-92,-24,-76,-25,12,-25,-70,-26,-82,-26,-18,-26,108,-25,38,-24,21,-23,42,-22,97,-21,-71,-20,25,-18,-123,-17,-11,-16,99,-14,-49,-13,71,-11,-85,-10,15,-8,112,-7,-39,-6,85,-4,-43,-3,94,-1,-2,0,-70,2,-106,4,-120,6,-125,8,-93,10,-58,12,-3,14,55,17,102,19,118,21,114,23,54,25,-53,26,21,28,9,29,-83,29,-31,29,-75,29,21,29,14,28,-101,26,-64,24,-122,22,-20,19,14,17,-2,13,-72,10,96,7,-29,3,-125,0,55,-3,16,-6,28,-9,105,-12,-26,-15,-50,-17,-3,-19,-116,-20,104,-21,-119,-22,10,-22,-60,-23,-58,-23,-11,-23,72,-22,-58,-22,82,-21,-8,-21,-103,-20,70,-19,-21,-19,-112,-18,43,-17,-55,-17,94,-16,12,-15,-76,-15,112,-14,67,-13,49,-12,90,-11,-108,-10,6,-8,-100,-7,109,-5,100,-3,-101,-1,-25,1,75,4,-54,6,74,9,-36,11,73,14,-95,16,-59,18,-65,20,110,22,-33,23,-10,24,-79,25,25,26,32,26,-50,25,37,25,46,24,-19,22,115,21,-73,19,-33,17,-22,15,-31,13,-34,11,-50,9,-49,7,-32,5,30,4,101,2,-36,0,80,-1,-7,-3,-71,-4,-123,-5,104,-6,72,-7,32,-8,1,-9,-40,-11,-91,-12,97,-13,5,-14,-87,-16,64,-17,-40,-19,111,-20,20,-21,-47,-23,-82,-24,-65,-25,-4,-26,-119,-26,95,-26,-119,-26,17,-25,-17,-25,59,-23,-24,-22,-15,-20,70,-17,-13,-15,-41,-12,12,-8,77,-5,-83,-2,11,2,99,5,-102,8,-70,11,-115,14,26,17,88,19,59,21,-50,22,-12,23,-70,24,35,25}; }
	private static byte[] data4(){ return new byte[] {50,25,-12,24,107,24,-88,23,-87,22,-123,21,68,20,-21,18,-117,17,44,16,-52,14,124,13,41,12,-14,10,-60,9,-93,8,-119,7,113,6,71,5,37,4,-12,2,-80,1,89,0,-46,-2,72,-3,-100,-5,-35,-7,7,-8,16,-10,40,-12,52,-14,87,-16,-124,-18,-44,-20,70,-21,-12,-23,-33,-24,18,-24,-117,-25,94,-25,126,-25,-9,-25,-62,-24,-39,-23,64,-21,-23,-20,-52,-18,-43,-16,4,-13,78,-11,-88,-9,2,-6,69,-4,123,-2,-109,0,-101,2,105,4,17,6,-121,7,-35,8,1,10,25,11,-8,11,-58,12,118,13,32,14,-63,14,87,15,-24,15,121,16,13,17,-98,17,48,18,-76,18,52,19,-101,19,-18,19,24,20,31,20,-10,19,-108,19,-10,18,7,18,-33,16,111,15,-73,13,-67,11,126,9,-1,6,85,4,-112,1,-87,-2,-68,-5,-69,-8,-32,-11,28,-13,-123,-16,40,-18,-5,-21,42,-22,-84,-24,-127,-25,-74,-26,67,-26,40,-26,105,-26,-8,-26,-44,-25,-18,-24,75,-22,-54,-21,118,-19,55,-17,9,-15,-14,-14,-55,-12,-92,-10,107,-8,41,-6,-48,-5,122,-3,-4,-2,118,0,-43,1,55,3,-113,4,-33,5,32,7,103,8,-89,9,-19,10,57,12,119,13,-76,14,-35,15,8,17,19,18,13,19,-34,19,-120,20,14,21,83,21,106,21,68,21,-36,20,57,20,82,19,40,18,-57,16,53,15,111,13,-128,11,101,9,59,7,7,5,-58,2,-111,0,94,-2,58,-4,57,-6,92,-8,-91,-10,23,-11,-88,-13,116,-14,109,-15,-116,-16,-34,-17,64,-17,-36,-18,-118,-18,93,-18,63,-18,58,-18,67,-18,97,-18,-120,-18,-60,-18,5,-17,105,-17,-49,-17,80,-16,-23,-16,-102,-15,122,-14,111,-13,-121,-12,-57,-11,48,-9,-70,-8,-124,-6,89,-4,85,-2,105,0,-107,2,-37,4,28,7,89,9,-116,11,-87,13,-85,15,-116,17,55,19,-86,20,-34,21,-44,22,-127,23,-28,23,-5,23,-55,23,79,23,-118,22,-120,21,77,20,-39,18,62,17,114,15,-120,13,-120,11,126,9,107,7,84,5,55,3,48,1,54,-1,83,-3,-128,-5,-67,-7,26,-8,-102,-10,47,-11,-29,-13,-78,-14,-112,-15,-107,-16,-67,-17,-14,-18,86,-18,-64,-19,89,-19,13,-19,-30,-20,-41,-20,-14,-20,47,-19,-108,-19,29,-18,-52,-18,-91,-17,-87,-16,-51,-15,21,-13,121,-12,4,-10,-82,-9,105,-7,51,-5,9,-3,-23,-2,-54,0,-71,2,-115,4,89,6,10,8,-85,9,60,11,-101,12,-29,13,-4,14,-13,15,-49,16,113,17,-11,17,75,18,126,18,-119,18,116,18,53,18,-36,17,95,17,-56,16,12,16,63,15,83,14,88,13,64,12,22,11,-51,9,122,8,26,7,-89,5,38,4,-116,2,-13,0,85,-1,-83,-3,7,-4,78,-6,-84,-8,13,-9,125,-11,-8,-13,-119,-14,42,-15,-23,-17,-42,-18,-44,-19,9,-19,91,-20,-30,-21,-102,-21,124,-21,-104,-21,-27,-21,101,-20,20,-19,-9,-19,5,-17,67,-16,-76,-15,61,-13,-17,-12,-74,-10,-99,-8,-97,-6,-89,-4,-79,-2,-58,0,-49,2,-39,4,-38,6,-62,8,-115,10,58,12,-51,13,56,15,-127,16,-115,17,119,18,41,19,-75,19,5,20,38,20,19,20,-45,19,97,19,-59,18,-4,17,18,17,0,16,-45,14,-128,13,28,12,-85,10,34,9,-107,7,-15,5,84,4,-69,2,30,1,-115,-1,-2,-3,113,-4,-7,-6,-112,-7,59,-8,-19,-10,-78,-11,-121,-12,-126,-13,-127,-14,-89,-15,-44,-16,39,-16,-120,-17,26,-17,-75,-18,-126,-18,97,-18,110,-18,-104,-18,-23,-18,95,-17,-1,-17,-65,-16,-87,-15,-85,-14,-35,-13,31,-11,-103,-10,20,-8,-80,-7,81,-5,12,-3,-47,-2,-106,0,77,2,11,4,-80,5,80,7,-34,8,76,10,-96,11,-47,12,-26,13,-35,14,-88,15,85,16,-43,16,59,17,118,17,-103,17,-117,17,111,17,37,17,-53,16,69,16,-79,15,-5,14,49,14,76,13,66,12,45,11,-7,9,-75,8,81,7,-43,5,64,4,-84,2,-17,0,59,-1,105,-3,-115,-5,-71,-7,-25,-9,29,-10,100,-12,-79,-14,38,-15,-64,-17,121,-18,103,-19,-125,-20,-45,-21,100,-21,46,-21,59,-21,-128,-21,17,-20,-51,-20,-49,-19,-6,-18,95,-16,-24,-15,-100,-13,85,-11,57,-9,20,-7,1,-5,-15,-4,-51,-2,-101,0,82,2,-12,3,-126,5,-20,6,46,8,87,9,95,10,79,11,30,12,-52,12,97,13,-24,13,77,14,-78,14,-9,14,47,15,91,15,109,15,124,15,106,15,84,15,26,15,-43,14,103,14,-27,13,58,13,124,12,-110,11,-118,10,79,9,3,8,-110,6,7,5,98,3,-102,1,-44,-1,4,-2,46,-4,102,-6,-99,-8,-21,-10,81,-11,-31,-13,-113,-14,107,-15,107,-16,-91,-17,17,-17,-85,-18,124,-18}; }
	private static byte[] data5(){ return new byte[] {117,-18,-92,-18,-11,-18,115,-17,13,-16,-59,-16,-98,-15,126,-14,119,-13,115,-12,126,-11,-106,-10,-87,-9,-61,-8,-41,-7,-5,-6,23,-4,76,-3,122,-2,-85,-1,-21,0,46,2,-115,3,-28,4,71,6,-83,7,25,9,-116,10,-15,11,75,13,-104,14,-55,15,-29,16,-41,17,-99,18,55,19,-106,19,-66,19,-91,19,74,19,-74,18,-41,17,-55,16,104,15,-25,13,48,12,80,10,89,8,64,6,26,4,-15,1,-40,-1,-61,-3,-51,-5,-27,-7,45,-8,-93,-10,63,-11,14,-12,15,-13,49,-14,-109,-15,27,-15,-51,-16,-89,-16,-105,-16,-83,-16,-37,-16,20,-15,104,-15,-64,-15,35,-14,-108,-14,2,-13,-128,-13,2,-12,-107,-12,46,-11,-40,-11,-116,-10,92,-9,70,-8,67,-7,87,-6,-122,-5,-49,-4,47,-2,-73,-1,63,1,-35,2,125,4,40,6,-46,7,111,9,-11,10,99,12,-76,13,-33,14,-33,15,-89,16,63,17,-98,17,-58,17,-73,17,111,17,-12,16,75,16,114,15,118,14,85,13,35,12,-38,10,-121,9,34,8,-58,6,108,5,29,4,-43,2,-101,1,99,0,65,-1,51,-2,39,-3,47,-4,41,-5,64,-6,78,-7,105,-8,122,-9,-107,-10,-98,-11,-69,-12,-49,-13,-12,-14,24,-14,79,-15,-104,-16,-7,-17,122,-17,28,-17,-20,-18,-26,-18,19,-17,117,-17,14,-16,-30,-16,-12,-15,54,-13,-86,-12,77,-10,24,-8,18,-6,22,-4,47,-2,75,0,105,2,-125,4,-127,6,95,8,27,10,-90,11,12,13,55,14,51,15,-23,15,110,16,-66,16,-40,16,-59,16,-126,16,27,16,-110,15,-18,14,53,14,104,13,-106,12,-77,11,-41,10,-26,9,3,9,30,8,52,7,85,6,88,5,116,4,120,3,-125,2,122,1,107,0,70,-1,24,-2,-24,-4,-89,-5,99,-6,13,-7,-62,-9,121,-10,62,-11,11,-12,-18,-14,-19,-15,15,-15,87,-16,-58,-17,107,-17,55,-17,67,-17,119,-17,-24,-17,-122,-16,90,-15,84,-14,119,-13,-72,-12,23,-10,-123,-9,19,-7,-104,-6,34,-4,-90,-3,29,-1,-104,0,-20,1,54,3,94,4,118,5,-128,6,100,7,56,8,-13,8,-97,9,58,10,-47,10,81,11,-53,11,57,12,-96,12,-1,12,81,13,-99,13,-48,13,1,14,13,14,11,14,-16,13,-82,13,82,13,-49,12,23,12,70,11,70,10,31,9,-45,7,86,6,-64,4,21,3,76,1,124,-1,-97,-3,-73,-5,-31,-7,28,-8,110,-10,-35,-12,104,-13,41,-14,19,-15,58,-16,-117,-17,23,-17,-39,-18,-43,-18,0,-17,97,-17,-27,-17,-97,-16,108,-15,104,-14,103,-13,-113,-12,-76,-11,-14,-10,34,-8,97,-7,-107,-6,-44,-5,1,-3,41,-2,75,-1,100,0,119,1,-112,2,-103,3,-103,4,-98,5,-109,6,-105,7,-123,8,112,9,80,10,42,11,-17,11,-79,12,82,13,-30,13,82,14,-88,14,-39,14,-23,14,-50,14,-110,14,39,14,-108,13,-39,12,-3,11,-9,10,-38,9,-104,8,59,7,-45,5,90,4,-32,2,93,1,-43,-1,98,-2,-11,-4,-93,-5,90,-6,49,-7,20,-8,26,-9,65,-10,126,-11,-34,-12,72,-12,-34,-13,-125,-13,66,-13,27,-13,-7,-14,-4,-14,0,-13,33,-13,73,-13,-123,-13,-41,-13,48,-12,-93,-12,31,-11,-72,-11,102,-10,42,-9,-1,-9,-19,-8,-12,-7,22,-5,78,-4,-116,-3,-20,-2,72,0,-63,1,61,3,-69,4,46,6,-95,7,-1,8,90,10,-115,11,-85,12,-95,13,119,14,33,15,-91,15,-10,15,29,16,15,16,-36,15,114,15,-26,14,46,14,85,13,89,12,62,11,12,10,-53,8,122,7,29,6,-66,4,77,3,-22,1,-116,0,54,-1,-26,-3,-96,-4,104,-5,72,-6,53,-7,50,-8,62,-9,95,-10,-100,-11,-30,-12,75,-12,-69,-13,72,-13,-24,-14,-89,-14,120,-14,102,-14,110,-14,-115,-14,-51,-14,35,-13,-108,-13,42,-12,-49,-12,-98,-11,113,-10,107,-9,113,-8,-104,-7,-60,-6,-1,-5,66,-3,-115,-2,-23,-1,51,1,-124,2,-64,3,0,5,40,6,76,7,85,8,68,9,33,10,-30,10,-114,11,27,12,-120,12,-33,12,22,13,52,13,54,13,28,13,-22,12,-96,12,63,12,-64,11,54,11,-112,10,-33,9,24,9,55,8,84,7,93,6,94,5,79,4,60,3,14,2,-17,0,-68,-1,-104,-2,99,-3,50,-4,5,-5,-24,-7,-52,-8,-63,-9,-70,-10,-51,-11,-12,-12,50,-12,-125,-13,-9,-14,124,-14,44,-14,-15,-15,-31,-15,-24,-15,29,-14,107,-14,-37,-14,111,-13,29,-12,-14,-12,-32,-11,-34,-10,-3,-9,42,-7,106,-6,-62,-5,27,-3,121,-2,-33,-1,64,1,-86,2,4,4,78,5,-110,6,-70,7,-37,8,-31,9,-51,10,-100,11,72,12,-32,12,81,13,-90,13,-45,13,-28,13,-49,13,-97,13}; }
	private static byte[] data6(){ return new byte[] {78,13,-36,12,85,12,-83,11,-14,10,27,10,51,9,63,8,56,7,44,6,6,5,-20,3,-60,2,-92,1,123,0,96,-1,52,-2,33,-3,19,-4,12,-5,23,-6,30,-7,66,-8,112,-9,-77,-10,1,-10,99,-11,-42,-12,103,-12,5,-12,-67,-13,-113,-13,112,-13,121,-13,-118,-13,-55,-13,13,-12,-125,-12,-1,-12,-96,-11,84,-10,33,-9,10,-8,-1,-8,11,-6,29,-5,71,-4,111,-3,-80,-2,-26,-1,30,1,82,2,-127,3,-84,4,-57,5,-52,6,-59,7,-86,8,118,9,51,10,-43,10,85,11,-54,11,22,12,87,12,116,12,126,12,109,12,68,12,6,12,-82,11,71,11,-58,10,55,10,-113,9,-43,8,6,8,49,7,67,6,74,5,59,4,33,3,5,2,-42,0,-89,-1,97,-2,42,-3,-21,-5,-75,-6,-126,-7,90,-8,57,-9,47,-10,63,-11,96,-12,-89,-13,0,-13,-122,-14,44,-14,-5,-15,-18,-15,13,-14,78,-14,-69,-14,70,-13,-4,-13,-55,-12,-65,-11,-61,-10,-32,-9,11,-7,67,-6,-116,-5,-51,-4,19,-2,77,-1,-125,0,-77,1,-47,2,-23,3,-37,4,-52,5,-97,6,109,7,26,8,-69,8,65,9,-66,9,41,10,-127,10,-56,10,0,11,40,11,67,11,75,11,68,11,45,11,1,11,-55,10,111,10,13,10,-112,9,-1,8,89,8,-103,7,-68,6,-44,5,-44,4,-58,3,-88,2,112,1,64,0,1,-1,-55,-3,-116,-4,85,-5,41,-6,22,-7,12,-8,32,-9,75,-10,-120,-11,-16,-12,116,-12,21,-12,-33,-13,-68,-13,-62,-13,-29,-13,28,-12,118,-12,-32,-12,102,-11,-13,-11,-104,-10,71,-9,-3,-9,-53,-8,-112,-7,99,-6,56,-5,16,-4,-6,-4,-41,-3,-61,-2,-90,-1,-101,0,-122,1,-120,2,122,3,118,4,109,5,100,6,94,7,72,8,45,9,-1,9,-56,10,121,11,22,12,-113,12,-11,12,45,13,77,13,61,13,12,13,-80,12,48,12,-122,11,-73,10,-57,9,-70,8,-109,7,86,6,-1,4,-90,3,68,2,-28,0,-121,-1,51,-2,-27,-4,-81,-5,-107,-6,-118,-7,-93,-8,-56,-9,24,-9,-128,-10,8,-10,-91,-11,99,-11,46,-11,25,-11,19,-11,33,-11,62,-11,104,-11,-92,-11,-29,-11,51,-10,-114,-10,-17,-10,102,-9,-42,-9,100,-8,-16,-8,-107,-7,73,-6,9,-5,-42,-5,-78,-4,-93,-3,-96,-2,-85,-1,-71,0,-47,1,-18,2,13,4,41,5,68,6,67,7,68,8,32,9,-7,9,-91,10,61,11,-82,11,1,12,49,12,57,12,39,12,-29,11,-108,11,18,11,-124,10,-47,9,24,9,65,8,107,7,119,6,-115,5,-101,4,-85,3,-69,2,-55,1,-31,0,2,0,41,-1,84,-2,-118,-3,-69,-4,-6,-5,63,-5,-119,-6,-42,-7,37,-7,122,-8,-39,-9,61,-9,-86,-10,32,-10,-95,-11,51,-11,-39,-12,-111,-12,98,-12,78,-12,86,-12,127,-12,-60,-12,47,-11,-66,-11,110,-10,58,-9,41,-8,49,-7,85,-6,-107,-5,-35,-4,51,-2,-114,-1,-22,0,77,2,-103,3,-35,4,8,6,32,7,32,8,0,9,-69,9,92,10,-47,10,48,11,103,11,-125,11,125,11,92,11,38,11,-44,10,116,10,2,10,-128,9,-7,8,97,8,-60,7,33,7,121,6,-50,5,31,5,95,4,-84,3,-27,2,42,2,86,1,-121,0,-87,-1,-46,-2,-15,-3,10,-3,38,-4,54,-5,81,-6,116,-7,-103,-8,-48,-9,8,-9,97,-10,-58,-11,74,-11,-27,-12,-98,-12,117,-12,113,-12,-119,-12,-60,-12,33,-11,-100,-11,52,-10,-25,-10,-82,-9,-113,-8,126,-7,125,-6,126,-5,-121,-4,-110,-3,-105,-2,-92,-1,-99,0,-112,1,115,2,77,3,31,4,-40,4,-116,5,35,6,-64,6,64,7,-61,7,41,8,-112,8,-27,8,52,9,119,9,-81,9,-40,9,-8,9,6,10,5,10,-14,9,-51,9,-108,9,68,9,-42,8,89,8,-67,7,16,7,68,6,100,5,102,4,93,3,67,2,28,1,-19,-1,-83,-2,121,-3,69,-4,28,-5,-3,-7,-13,-8,-14,-9,22,-9,83,-10,-84,-11,42,-11,-63,-12,-126,-12,97,-12,98,-12,-125,-12,-61,-12,29,-11,-110,-11,28,-10,-72,-10,105,-9,37,-8,-17,-8,-68,-7,-113,-6,106,-5,70,-4,36,-3,-4,-3,-46,-2,-86,-1,121,0,83,1,28,2,-24,2,-90,3,107,4,40,5,-34,5,-118,6,49,7,-56,7,98,8,-33,8,87,9,-73,9,7,10,66,10,105,10,113,10,105,10,60,10,-1,9,-98,9,40,9,-103,8,-14,7,55,7,94,6,-127,5,-113,4,-104,3,-106,2,-111,1,-123,0,-128,-1,-126,-2,-114,-3,-96,-4,-65,-5,-19,-6,46,-6,-126,-7,-27,-8,94,-8,-32,-9,126,-9,41,-9,-20,-10,-71,-10,-101,-10,-119,-10,-119,-10,-103,-10,-78,-10,-27,-10,22,-9}; }
	private static byte[] data7(){ return new byte[] {102,-9,-77,-9,31,-8,-118,-8,24,-7,-95,-7,73,-6,-16,-6,-79,-5,-126,-4,88,-3,62,-2,39,-1,31,0,31,1,30,2,27,3,23,4,12,5,-5,5,-32,6,-78,7,113,8,30,9,-83,9,49,10,-121,10,-47,10,-16,10,-4,10,-29,10,-79,10,97,10,-9,9,117,9,-36,8,42,8,106,7,-100,6,-65,5,-35,4,-26,3,-9,2,3,2,14,1,34,0,46,-1,70,-2,97,-3,-114,-4,-64,-5,-3,-6,67,-6,-105,-7,0,-7,111,-8,-10,-9,125,-9,40,-9,-46,-10,-96,-10,110,-10,94,-10,84,-10,105,-10,-118,-10,-66,-10,16,-9,103,-9,-29,-9,94,-8,-7,-8,-102,-7,83,-6,23,-5,-23,-5,-64,-4,-96,-3,-122,-2,120,-1,95,0,77,1,46,2,18,3,-20,3,-66,4,122,5,51,6,-44,6,106,7,-16,7,95,8,-69,8,7,9,57,9,95,9,106,9,101,9,76,9,34,9,-32,8,-107,8,52,8,-58,7,72,7,-67,6,33,6,126,5,-52,4,24,4,82,3,-120,2,-73,1,-27,0,16,0,55,-1,97,-2,-125,-3,-79,-4,-28,-5,29,-5,94,-6,-89,-7,-2,-8,102,-8,-36,-9,99,-9,-8,-10,-88,-10,103,-10,67,-10,43,-10,51,-10,75,-10,-128,-10,-55,-10,35,-9,-102,-9,35,-8,-65,-8,108,-7,38,-6,-15,-6,-49,-5,-83,-4,-103,-3,-124,-2,120,-1,105,0,100,1,78,2,58,3,21,4,-18,4,-69,5,116,6,34,7,-73,7,64,8,-79,8,14,9,92,9,-125,9,-87,9,-94,9,-104,9,108,9,48,9,-33,8,124,8,0,8,124,7,-26,6,65,6,-105,5,-39,4,22,4,76,3,-126,2,-79,1,-30,0,7,0,60,-1,110,-2,-88,-3,-25,-4,44,-4,117,-5,-52,-6,48,-6,-99,-7,24,-7,-101,-8,51,-8,-40,-9,-115,-9,84,-9,40,-9,19,-9,14,-9,27,-9,60,-9,109,-9,-71,-9,12,-8,124,-8,-14,-8,-127,-7,31,-6,-53,-6,125,-5,66,-4,7,-3,-29,-3,-73,-2,-109,-1,104,0,74,1,21,2,-10,2,-72,3,121,4,48,5,-45,5,117,6,-4,6,120,7,-33,7,56,8,122,8,-79,8,-48,8,-34,8,-35,8,-60,8,-98,8,103,8,31,8,-56,7,99,7,-22,6,103,6,-35,5,57,5,-98,4,-31,3,44,3,95,2,-101,1,-56,0,-15,-1,24,-1,54,-2,104,-3,-121,-4,-65,-5,-23,-6,44,-6,117,-7,-49,-8,55,-8,-78,-9,62,-9,-28,-10,-98,-10,116,-10,96,-10,102,-10,-119,-10,-67,-10,21,-9,118,-9,-5,-9,-117,-8,51,-7,-27,-7,-91,-6,113,-5,73,-4,34,-3,-3,-3,-41,-2,-79,-1,-116,0,88,1,34,2,-37,2,-110,3,52,4,-38,4,99,5,-23,5,91,6,-63,6,35,7,108,7,-81,7,-31,7,8,8,33,8,46,8,43,8,29,8,-1,7,-45,7,-106,7,77,7,-16,6,-115,6,14,6,-120,5,-17,4,76,4,-100,3,-33,2,27,2,68,1,117,0,-105,-1,-60,-2,-23,-3,16,-3,68,-4,126,-5,-56,-6,26,-6,126,-7,-15,-8,125,-8,26,-8,-52,-9,-107,-9,110,-9,99,-9,103,-9,-124,-9,-81,-9,-18,-9,64,-8,-104,-8,6,-7,122,-7,-5,-7,-119,-6,19,-5,-80,-5,70,-4,-19,-4,-111,-3,65,-2,-25,-2,-103,-1,70,0,-1,0,-79,1,97,2,23,3,-65,3,115,4,26,5,-68,5,86,6,-28,6,104,7,-30,7,66,8,-101,8,-43,8,4,9,21,9,15,9,-12,8,-69,8,110,8,7,8,-126,7,-15,6,68,6,-114,5,-64,4,-24,3,4,3,34,2,54,1,78,0,105,-1,-128,-2,-84,-3,-34,-4,31,-4,111,-5,-54,-6,57,-6,-63,-7,78,-7,-4,-8,-86,-8,120,-8,77,-8,57,-8,43,-8,51,-8,65,-8,94,-8,-123,-8,-72,-8,-12,-8,61,-7,-114,-7,-27,-7,78,-6,-72,-6,57,-5,-70,-5,71,-4,-34,-4,127,-3,40,-2,-30,-2,-104,-1,87,0,27,1,-36,1,-87,2,104,3,37,4,-37,4,-125,5,38,6,-76,6,55,7,-94,7,-9,7,61,8,102,8,124,8,122,8,96,8,51,8,-18,7,-107,7,49,7,-75,6,53,6,-95,5,4,5,98,4,-65,3,15,3,110,2,-79,1,16,1,99,0,-66,-1,30,-1,120,-2,-32,-3,72,-3,-69,-4,45,-4,-90,-5,35,-5,-94,-6,50,-6,-61,-7,92,-7,-2,-8,-84,-8,101,-8,46,-8,2,-8,-24,-9,-30,-9,-22,-9,12,-8,59,-8,-121,-8,-27,-8,91,-7,-34,-7,125,-6,39,-5,-23,-5,-76,-4,-120,-3,104,-2,73,-1,48,0,25,1,-5,1,-46,2,-94,3,100,4,28,5,-65,5,77,6,-57,6,49,7,-126,7,-62,7,-26,7,-4,7,-4,7,-22,7,-55,7,-104,7,87,7,17,7,-76,6,90,6,-23,5,-124,5}; }
	private static byte[] data8(){ return new byte[] {3,5,-110,4,8,4,-127,3,-11,2,102,2,-47,1,58,1,-104,0,-7,-1,88,-1,-76,-2,12,-2,104,-3,-68,-4,37,-4,127,-5,-15,-6,93,-6,-38,-7,98,-7,-9,-8,-95,-8,86,-8,34,-8,2,-8,-11,-9,-1,-9,31,-8,84,-8,-98,-8,-7,-8,104,-7,-24,-7,116,-6,21,-5,-72,-5,101,-4,24,-3,-51,-3,-116,-2,64,-1,-10,-1,-93,0,80,1,-17,1,-109,2,34,3,-82,3,43,4,-93,4,18,5,118,5,-50,5,29,6,100,6,-96,6,-43,6,-6,6,25,7,43,7,49,7,46,7,21,7,-4,6,-58,6,-113,6,58,6,-33,5,114,5,-10,4,107,4,-52,3,37,3,116,2,-74,1,-12,0,39,0,85,-1,-122,-2,-70,-3,-14,-4,51,-4,116,-5,-51,-6,48,-6,-91,-7,46,-7,-58,-8,119,-8,57,-8,20,-8,6,-8,8,-8,36,-8,78,-8,-114,-8,-36,-8,58,-7,-89,-7,28,-6,-95,-6,34,-5,-71,-5,69,-4,-23,-4,-128,-3,29,-2,-69,-2,86,-1,-4,-1,-110,0,48,1,-62,1,88,2,-23,2,116,3,2,4,122,4,-5,4,103,5,-41,5,52,6,-121,6,-48,6,7,7,56,7,78,7,94,7,85,7,62,7,24,7,-40,6,-113,6,48,6,-61,5,73,5,-70,4,38,4,-121,3,-36,2,51,2,118,1,-57,0,14,0,95,-1,-84,-2,10,-2,90,-3,-56,-4,52,-4,-79,-5,58,-5,-59,-6,103,-6,20,-6,-53,-7,-106,-7,101,-7,70,-7,49,-7,42,-7,48,-7,62,-7,93,-7,-123,-7,-75,-7,-8,-7,60,-6,-105,-6,-10,-6,93,-5,-44,-5,81,-4,-40,-4,111,-3,5,-2,-91,-2,77,-1,-14,-1,-85,0,82,1,5,2,-80,2,87,3,0,4,-106,4,44,5,-86,5,38,6,-117,6,-24,6,44,7,99,7,-127,7,-112,7,-116,7,112,7,71,7,10,7,-72,6,95,6,-22,5,114,5,-19,4,90,4,-58,3,32,3,122,2,-38,1,40,1,-120,0,-45,-1,50,-1,-112,-2,-14,-3,94,-3,-55,-4,67,-4,-68,-5,77,-5,-37,-6,126,-6,33,-6,-41,-7,-100,-7,100,-7,72,-7,39,-7,37,-7,40,-7,57,-7,93,-7,-119,-7,-52,-7,20,-6,110,-6,-46,-6,65,-5,-61,-5,69,-4,-42,-4,105,-3,6,-2,-92,-2,79,-1,-14,-1,-106,0,59,1,-41,1,123,2,14,3,-103,3,36,4,-108,4,19,5,109,5,-55,5,19,6,77,6,126,6,-98,6,-79,6,-76,6,-85,6,-108,6,109,6,59,6,-4,5,-78,5,94,5,-7,4,-113,4,29,4,-97,3,32,3,-108,2,2,2,111,1,-41,0,62,0,-89,-1,4,-1,110,-2,-41,-3,66,-3,-72,-4,45,-4,-85,-5,50,-5,-58,-6,97,-6,10,-6,-64,-7,125,-7,88,-7,45,-7,38,-7,30,-7,50,-7,76,-7,124,-7,-73,-7,5,-6,94,-6,-57,-6,56,-5,-73,-5,62,-4,-43,-4,108,-3,12,-2,-84,-2,85,-1,-7,-1,-86,0,74,1,-16,1,-117,2,34,3,-71,3,59,4,-69,4,40,5,-113,5,-25,5,51,6,107,6,-103,6,-77,6,-62,6,-65,6,-82,6,-113,6,91,6,38,6,-44,5,-128,5,32,5,-78,4,60,4,-63,3,49,3,-75,2,26,2,-112,1,-7,0,92,0,-50,-1,50,-1,-88,-2,21,-2,-117,-3,5,-3,-119,-4,18,-4,-92,-5,65,-5,-32,-6,-111,-6,74,-6,15,-6,-31,-7,-64,-7,-90,-7,-93,-7,-92,-7,-71,-7,-38,-7,7,-6,66,-6,-119,-6,-37,-6,61,-5,-89,-5,32,-4,-105,-4,34,-3,-88,-3,69,-2,-44,-2,113,-1,8,0,-94,0,62,1,-44,1,98,2,-19,2,113,3,-23,3,98,4,-57,4,33,5,119,5,-76,5,-10,5,24,6,61,6,71,6,80,6,65,6,48,6,6,6,-32,5,-100,5,95,5,5,5,-80,4,72,4,-36,3,104,3,-26,2,98,2,-37,1,73,1,-70,0,35,0,-120,-1,-16,-2,90,-2,-61,-3,53,-3,-95,-4,30,-4,-98,-5,41,-5,-64,-6,93,-6,13,-6,-55,-7,-106,-7,111,-7,95,-7,88,-7,103,-7,-124,-7,-76,-7,-17,-7,67,-6,-104,-6,4,-5,118,-5,-15,-5,123,-4,5,-3,-100,-3,45,-2,-57,-2,92,-1,-8,-1,-117,0,26,1,-88,1,40,2,-80,2,34,3,-109,3,-6,3,84,4,-86,4,-9,4,52,5,112,5,-105,5,-67,5,-45,5,-30,5,-28,5,-35,5,-55,5,-85,5,-127,5,79,5,13,5,-57,4,110,4,16,4,-92,3,50,3,-72,2,53,2,-89,1,24,1,-122,0,-15,-1,90,-1,-59,-2,44,-2,-100,-3,20,-3,-114,-4,23,-4,-97,-5,62,-5,-31,-6,-105,-6,88,-6,37,-6,7,-6,-19,-7,-17,-7,-16,-7,14,-6,44,-6,92,-6,-103,-6,-39,-6,45,-5,127,-5,-28,-5,68,-4,-76,-4}; }
	private static byte[] data9(){ return new byte[] {31,-3,-101,-3,18,-2,-115,-2,12,-1,-118,-1,12,0,-110,0,20,1,-110,1,21,2,-112,2,14,3,-123,3,-13,3,96,4,-61,4,26,5,114,5,-80,5,-14,5,22,6,58,6,70,6,70,6,54,6,20,6,-28,5,-94,5,81,5,-13,4,-121,4,15,4,-115,3,-3,2,107,2,-47,1,57,1,-105,0,-6,-1,92,-1,-55,-2,53,-2,-81,-3,42,-3,-81,-4,67,-4,-35,-5,-120,-5,61,-5,-9,-6,-57,-6,-103,-6,-126,-6,105,-6,102,-6,100,-6,115,-6,-120,-6,-91,-6,-50,-6,-2,-6,56,-5,119,-5,-64,-5,16,-4,106,-4,-54,-4,50,-3,-99,-3,18,-2,-113,-2,12,-1,-109,-1,21,0,-98,0,40,1,-76,1,59,2,-66,2,59,3,-76,3,39,4,-117,4,-25,4,53,5,120,5,-84,5,-47,5,-24,5,-18,5,-24,5,-49,5,-84,5,116,5,60,5,-22,4,-100,4,53,4,-46,3,100,3,-14,2,125,2,1,2,-120,1,5,1,-112,0,16,0,-100,-1,29,-1,-84,-2,55,-2,-51,-3,97,-3,-5,-4,-105,-4,63,-4,-27,-5,-102,-5,78,-5,14,-5,-47,-6,-90,-6,123,-6,100,-6,81,-6,79,-6,86,-6,110,-6,-113,-6,-61,-6,2,-5,82,-5,-89,-5,19,-4,127,-4,5,-3,-122,-3,21,-2,-89,-2,64,-1,-38,-1,120,0,13,1,-95,1,51,2,-73,2,61,3,-79,3,28,4,120,4,-52,4,16,5,72,5,110,5,-117,5,-105,5,-100,5,-116,5,121,5,86,5,44,5,-10,4,-70,4,114,4,43,4,-41,3,126,3,36,3,-68,2,93,2,-19,1,-122,1,18,1,-97,0,39,0,-77,-1,59,-1,-60,-2,74,-2,-45,-3,99,-3,-14,-4,-118,-4,33,-4,-57,-5,110,-5,42,-5,-30,-6,-74,-6,-123,-6,113,-6,97,-6,98,-6,115,-6,-111,-6,-67,-6,-11,-6,60,-5,-118,-5,-19,-5,76,-4,-64,-4,44,-3,-83,-3,34,-2,-86,-2,41,-1,-89,-1,40,0,-96,0,31,1,-109,1,-2,1,107,2,-55,2,41,3,127,3,-50,3,18,4,83,4,-117,4,-73,4,-25,4,-6,4,29,5,32,5,44,5,32,5,24,5,-5,4,-38,4,-82,4,111,4,52,4,-31,3,-114,3,43,3,-63,2,75,2,-43,1,82,1,-49,0,70,0,-75,-1,44,-1,-97,-2,24,-2,-107,-3,15,-3,-96,-4,42,-4,-49,-5,113,-5,37,-5,-23,-6,-77,-6,-106,-6,123,-6,120,-6,125,-6,-110,-6,-79,-6,-33,-6,20,-5,90,-5,-92,-5,-11,-5,83,-4,-82,-4,26,-3,-126,-3,-17,-3,94,-2,-48,-2,64,-1,-73,-1,41,0,-101,0,7,1,121,1,-28,1,77,2,-79,2,14,3,105,3,-66,3,11,4,84,4,-114,4,-58,4,-17,4,17,5,40,5,49,5,51,5,34,5,11,5,-27,4,-77,4,122,4,45,4,-32,3,-128,3,28,3,-79,2,65,2,-58,1,78,1,-53,0,83,0,-47,-1,89,-1,-39,-2,101,-2,-9,-3,-120,-3,42,-3,-53,-4,115,-4,43,-4,-28,-5,-82,-5,126,-5,82,-5,57,-5,33,-5,26,-5,23,-5,31,-5,49,-5,73,-5,112,-5,-107,-5,-48,-5,8,-4,80,-4,-103,-4,-18,-4,71,-3,-84,-3,16,-2,127,-2,-19,-2,98,-1,-39,-1,84,0,-47,0,70,1,-63,1,51,2,-88,2,21,3,118,3,-40,3,38,4,122,4,-76,4,-20,4,19,5,45,5,66,5,62,5,57,5,30,5,-6,4,-49,4,-114,4,74,4,-1,3,-95,3,73,3,-34,2,115,2,1,2,-110,1,24,1,-90,0,39,0,-73,-1,62,-1,-48,-2,98,-2,-15,-3,-110,-3,45,-3,-39,-4,-122,-4,57,-4,-8,-5,-72,-5,-116,-5,96,-5,68,-5,42,-5,36,-5,29,-5,43,-5,58,-5,93,-5,127,-5,-73,-5,-21,-5,51,-4,125,-4,-43,-4,45,-3,-106,-3,-12,-3,105,-2,-45,-2,78,-1,-71,-1,53,0,-93,0,23,1,-117,1,-12,1,92,2,-67,2,23,3,110,3,-73,3,-1,3,50,4,105,4,-116,4,-84,4,-68,4,-58,4,-59,4,-74,4,-90,4,126,4,95,4,39,4,-15,3,-85,3,99,3,18,3,-67,2,97,2,-6,1,-103,1,45,1,-60,0,87,0,-24,-1,118,-1,10,-1,-100,-2,55,-2,-52,-3,108,-3,13,-3,-72,-4,104,-4,32,-4,-32,-5,-88,-5,123,-5,85,-5,63,-5,44,-5,44,-5,48,-5,67,-5,95,-5,-123,-5,-70,-5,-14,-5,58,-4,-126,-4,-37,-4,53,-3,-101,-3,4,-2,111,-2,-34,-2,85,-1,-58,-1,66,0,-80,0,35,1,-108,1,-2,1,104,2,-55,2,36,3,117,3,-62,3,5,4,60,4,112,4,-114,4,-81,4,-70,4,-62,4,-69,4,-87,4,-108,4,105,4,65,4,2,4,-56,3,-128,3,46,3,-36,2,124,2,32,2,-68,1,83,1}; }
	private static byte[] data10(){ return new byte[] {-21,0,125,0,22,0,-87,-1,65,-1,-38,-2,112,-2,21,-2,-79,-3,96,-3,9,-3,-66,-4,119,-4,59,-4,3,-4,-40,-5,-80,-5,-107,-5,-127,-5,121,-5,119,-5,-125,-5,-108,-5,-76,-5,-40,-5,9,-4,64,-4,-125,-4,-53,-4,26,-3,115,-3,-53,-3,49,-2,-108,-2,1,-1,104,-1,-42,-1,68,0,-81,0,31,1,126,1,-22,1,66,2,-92,2,-12,2,66,3,-120,3,-60,3,-6,3,37,4,76,4,97,4,117,4,122,4,119,4,108,4,87,4,56,4,18,4,-29,3,-85,3,108,3,40,3,-39,2,-118,2,46,2,-47,1,116,1,11,1,-88,0,56,0,-47,-1,100,-1,-3,-2,-110,-2,44,-2,-56,-3,104,-3,14,-3,-65,-4,110,-4,44,-4,-18,-5,-66,-5,-107,-5,121,-5,100,-5,94,-5,96,-5,115,-5,-119,-5,-80,-5,-32,-5,23,-4,94,-4,-94,-4,-6,-4,80,-3,-79,-3,17,-2,120,-2,-32,-2,73,-1,-74,-1,30,0,-121,0,-21,0,76,1,-82,1,5,2,92,2,-89,2,-15,2,51,3,112,3,-94,3,-49,3,-12,3,16,4,40,4,53,4,58,4,55,4,46,4,23,4,0,4,-39,3,-81,3,125,3,61,3,-2,2,-78,2,100,2,13,2,-76,1,79,1,-19,0,-122,0,31,0,-75,-1,74,-1,-31,-2,124,-2,28,-2,-69,-3,104,-3,14,-3,-55,-4,-127,-4,75,-4,26,-4,-18,-5,-44,-5,-66,-5,-77,-5,-72,-5,-70,-5,-45,-5,-21,-5,18,-4,60,-4,111,-4,-84,-4,-21,-4,52,-3,123,-3,-50,-3,32,-2,122,-2,-47,-2,44,-1,-119,-1,-25,-1,71,0,-90,0,3,1,93,1,-69,1,17,2,103,2,-72,2,0,3,75,3,-120,3,-61,3,-12,3,27,4,61,4,82,4,95,4,97,4,87,4,68,4,39,4,-4,3,-55,3,-114,3,69,3,-6,2,-95,2,68,2,-29,1,127,1,19,1,-86,0,60,0,-49,-1,104,-1,0,-1,-97,-2,59,-2,-26,-3,-112,-3,72,-3,3,-3,-60,-4,-111,-4,95,-4,65,-4,31,-4,14,-4,0,-4,-6,-5,-2,-5,10,-4,23,-4,54,-4,82,-4,121,-4,-89,-4,-41,-4,18,-3,82,-3,-106,-3,-32,-3,47,-2,126,-2,-36,-2,49,-1,-108,-1,-20,-1,83,0,-81,0,20,1,115,1,-53,1,42,2,120,2,-49,2,20,3,89,3,-112,3,-61,3,-20,3,11,4,29,4,44,4,38,4,33,4,11,4,-21,3,-52,3,-109,3,102,3,31,3,-30,2,-110,2,74,2,-13,1,-97,1,71,1,-18,0,-106,0,60,0,-29,-1,-120,-1,52,-1,-37,-2,-113,-2,58,-2,-14,-3,-91,-3,101,-3,34,-3,-22,-4,-77,-4,-125,-4,91,-4,56,-4,28,-4,13,-4,-5,-5,-1,-5,-2,-5,20,-4,38,-4,78,-4,114,-4,-83,-4,-29,-4,45,-3,116,-3,-52,-3,38,-2,-125,-2,-25,-2,76,-1,-74,-1,32,0,-120,0,-19,0,82,1,-77,1,14,2,99,2,-80,2,-8,2,51,3,111,3,-104,3,-66,3,-40,3,-23,3,-13,3,-13,3,-22,3,-39,3,-62,3,-95,3,122,3,81,3,24,3,-23,2,-91,2,103,2,31,2,-39,1,-119,1,64,1,-26,0,-106,0,66,0,-23,-1,-104,-1,59,-1,-23,-2,-113,-2,67,-2,-18,-3,-89,-3,88,-3,27,-3,-37,-4,-90,-4,121,-4,76,-4,53,-4,25,-4,18,-4,11,-4,21,-4,35,-4,65,-4,95,-4,-113,-4,-63,-4,-2,-4,65,-3,-118,-3,-41,-3,41,-2,-125,-2,-42,-2,55,-1,-117,-1,-25,-1,64,0,-101,0,-17,0,67,1,-115,1,-36,1,32,2,103,2,-96,2,-35,2,12,3,59,3,102,3,-126,3,-94,3,-82,3,-67,3,-61,3,-66,3,-86,3,-108,3,113,3,74,3,24,3,-25,2,-91,2,105,2,30,2,-46,1,-124,1,44,1,-33,0,-128,0,43,0,-46,-1,119,-1,37,-1,-51,-2,126,-2,43,-2,-30,-3,-100,-3,90,-3,36,-3,-23,-4,-66,-4,-103,-4,119,-4,99,-4,81,-4,75,-4,77,-4,84,-4,103,-4,126,-4,-96,-4,-55,-4,-10,-4,45,-3,104,-3,-87,-3,-13,-3,57,-2,-116,-2,-39,-2,51,-1,-122,-1,-34,-1,52,0,-118,0,-33,0,52,1,-123,1,-48,1,29,2,91,2,-95,2,-41,2,10,3,56,3,91,3,122,3,-111,3,-98,3,-90,3,-94,3,-101,3,-120,3,112,3,77,3,42,3,-11,2,-60,2,-121,2,69,2,4,2,-74,1,108,1,23,1,-58,0,113,0,29,0,-57,-1,111,-1,31,-1,-56,-2,-127,-2,46,-2,-21,-3,-92,-3,106,-3,47,-3,2,-3,-46,-4,-79,-4,-110,-4,126,-4,113,-4,106,-4,108,-4,120,-4,-121,-4,-93,-4,-62,-4,-24,-4,27,-3,75,-3,-117,-3,-59,-3,13,-2,87,-2,-94,-2,-12,-2,66,-1,-106,-1,-20,-1}; }
	private static byte[] data11(){ return new byte[] {66,0,-111,0,-25,0,51,1,-125,1,-51,1,20,2,82,2,-110,2,-58,2,-8,2,34,3,67,3,97,3,115,3,-125,3,-124,3,-123,3,119,3,105,3,77,3,45,3,4,3,-39,2,-96,2,108,2,39,2,-28,1,-96,1,78,1,7,1,-77,0,96,0,14,0,-69,-1,106,-1,26,-1,-55,-2,125,-2,55,-2,-17,-3,-77,-3,118,-3,64,-3,18,-3,-22,-4,-58,-4,-80,-4,-105,-4,-113,-4,-120,-4,-115,-4,-106,-4,-85,-4,-61,-4,-28,-4,9,-3,59,-3,108,-3,-87,-3,-28,-3,40,-2,111,-2,-71,-2,9,-1,85,-1,-87,-1,-9,-1,72,0,-98,0,-25,0,58,1,126,1,-55,1,10,2,73,2,-123,2,-75,2,-27,2,12,3,44,3,72,3,88,3,101,3,103,3,101,3,88,3,71,3,44,3,13,3,-26,2,-75,2,-122,2,71,2,18,2,-57,1,-121,1,56,1,-17,0,-94,0,81,0,4,0,-81,-1,99,-1,20,-1,-54,-2,-127,-2,57,-2,-7,-3,-68,-3,-124,-3,82,-3,36,-3,-2,-4,-32,-4,-60,-4,-74,-4,-86,-4,-90,-4,-83,-4,-75,-4,-55,-4,-27,-4,2,-3,46,-3,85,-3,-114,-3,-64,-3,6,-2,63,-2,-117,-2,-51,-2,29,-1,101,-1,-71,-1,3,0,85,0,-97,0,-18,0,55,1,-128,1,-60,1,1,2,65,2,114,2,-88,2,-46,2,-9,2,22,3,46,3,61,3,72,3,76,3,68,3,60,3,37,3,13,3,-19,2,-59,2,-102,2,102,2,45,2,-13,1,-81,1,111,1,37,1,-38,0,-113,0,68,0,-13,-1,-83,-1,86,-1,20,-1,-58,-2,-125,-2,65,-2,0,-2,-56,-3,-113,-3,99,-3,54,-3,21,-3,-12,-4,-33,-4,-50,-4,-57,-4,-62,-4,-53,-4,-45,-4,-20,-4,-1,-4,37,-3,72,-3,118,-3,-84,-3,-36,-3,30,-2,89,-2,-95,-2,-27,-2,48,-1,118,-1,-58,-1,14,0,92,0,-86,0,-18,0,57,1,122,1,-64,1,-7,1,56,2,100,2,-103,2,-66,2,-27,2,-3,2,25,3,32,3,48,3,45,3,39,3,30,3,6,3,-15,2,-52,2,-88,2,122,2,74,2,20,2,-41,1,-102,1,84,1,16,1,-52,0,125,0,55,0,-24,-1,-97,-1,90,-1,11,-1,-54,-2,-126,-2,70,-2,10,-2,-47,-3,-96,-3,112,-3,74,-3,39,-3,12,-3,-8,-4,-27,-4,-26,-4,-38,-4,-20,-4,-19,-4,11,-3,31,-3,66,-3,103,-3,-110,-3,-59,-3,-6,-3,55,-2,114,-2,-74,-2,-8,-2,65,-1,-118,-1,-48,-1,29,0,97,0,-82,0,-14,0,57,1,121,1,-73,1,-13,1,41,2,92,2,-122,2,-82,2,-51,2,-22,2,-2,2,11,3,18,3,18,3,12,3,-2,2,-21,2,-47,2,-79,2,-117,2,94,2,45,2,-7,1,-66,1,-125,1,62,1,-2,0,-76,0,115,0,38,0,-29,-1,-106,-1,81,-1,11,-1,-55,-2,-119,-2,74,-2,18,-2,-38,-3,-82,-3,-128,-3,93,-3,59,-3,33,-3,14,-3,3,-3,-7,-4,-3,-4,1,-3,16,-3,36,-3,61,-3,94,-3,-123,-3,-82,-3,-31,-3,18,-2,78,-2,-118,-2,-52,-2,12,-1,80,-1,-105,-1,-33,-1,38,0,107,0,-78,0,-13,0,56,1,117,1,-75,1,-24,1,31,2,75,2,121,2,-100,2,-70,2,-42,2,-30,2,-10,2,-11,2,-6,2,-17,2,-29,2,-50,2,-76,2,-107,2,109,2,69,2,19,2,-33,1,-90,1,107,1,43,1,-20,0,-92,0,98,0,27,0,-41,-1,-110,-1,76,-1,11,-1,-58,-2,-113,-2,78,-2,29,-2,-27,-3,-71,-3,-111,-3,108,-3,81,-3,54,-3,37,-3,27,-3,18,-3,25,-3,27,-3,45,-3,63,-3,91,-3,120,-3,-97,-3,-53,-3,-7,-3,46,-2,100,-2,-95,-2,-38,-2,35,-1,96,-1,-90,-1,-22,-1,43,0,118,0,-76,0,-7,0,52,1,117,1,-86,1,-27,1,18,2,63,2,107,2,-122,2,-85,2,-67,2,-48,2,-38,2,-33,2,-34,2,-44,2,-56,2,-78,2,-104,2,124,2,80,2,44,2,-9,1,-54,1,-114,1,87,1,22,1,-39,0,-106,0,86,0,14,0,-48,-1,-123,-1,77,-1,6,-1,-51,-2,-113,-2,84,-2,36,-2,-14,-3,-57,-3,-96,-3,125,-3,98,-3,77,-3,59,-3,49,-3,46,-3,47,-3,57,-3,69,-3,91,-3,116,-3,-105,-3,-71,-3,-30,-3,19,-2,68,-2,126,-2,-76,-2,-14,-2,46,-1,114,-1,-79,-1,-9,-1,53,0,123,0,-75,0,-4,0,51,1,113,1,-90,1,-40,1,9,2,52,2,88,2,123,2,-110,2,-85,2,-72,2,-59,2,-60,2,-58,2,-71,2,-82,2,-105,2,126,2,95,2,56,2,18,2,-33,1,-79,1,121,1,66,1,6,1,-57,0,-122,0,73,0,4,0,-55,-1,-127,-1,70,-1}; }
	private static byte[] data12(){ return new byte[] {5,-1,-50,-2,-110,-2,94,-2,44,-2,-6,-3,-41,-3,-84,-3,-110,-3,115,-3,97,-3,81,-3,73,-3,70,-3,73,-3,80,-3,98,-3,116,-3,-112,-3,-82,-3,-46,-3,-1,-3,39,-2,95,-2,-115,-2,-52,-2,2,-1,68,-1,123,-1,-61,-1,-6,-1,66,0,126,0,-68,0,-6,0,49,1,110,1,-98,1,-45,1,-5,1,39,2,74,2,104,2,-125,2,-108,2,-90,2,-87,2,-79,2,-86,2,-94,2,-109,2,127,2,98,2,71,2,29,2,-4,1,-58,1,-98,1,96,1,47,1,-11,0,-76,0,127,0,55,0,-2,-1,-67,-1,126,-1,68,-1,5,-1,-51,-2,-105,-2,98,-2,54,-2,7,-2,-31,-3,-67,-3,-97,-3,-119,-3,115,-3,105,-3,93,-3,95,-3,94,-3,109,-3,121,-3,-113,-3,-88,-3,-56,-3,-21,-3,19,-2,67,-2,111,-2,-88,-2,-39,-2,22,-1,81,-1,-115,-1,-52,-1,6,0,71,0,-124,0,-64,0,-6,0,49,1,104,1,-106,1,-52,1,-17,1,28,2,58,2,87,2,114,2,126,2,-109,2,-109,2,-103,2,-109,2,-119,2,121,2,104,2,72,2,48,2,5,2,-30,1,-77,1,-124,1,82,1,25,1,-29,0,-88,0,106,0,52,0,-16,-1,-71,-1,120,-1,64,-1,6,-1,-47,-2,-103,-2,107,-2,60,-2,19,-2,-20,-3,-51,-3,-81,-3,-102,-3,-119,-3,122,-3,118,-3,115,-3,122,-3,-128,-3,-106,-3,-93,-3,-61,-3,-32,-3,3,-2,43,-2,88,-2,-126,-2,-66,-2,-23,-2,43,-1,91,-1,-100,-1,-44,-1,19,0,77,0,-121,0,-61,0,-9,0,53,1,94,1,-105,1,-69,1,-22,1,12,2,45,2,71,2,94,2,111,2,120,2,-125,2,126,2,127,2,112,2,98,2,77,2,51,2,21,2,-15,1,-54,1,-97,1,110,1,64,1,7,1,-44,0,-103,0,94,0,39,0,-23,-1,-79,-1,119,-1,60,-1,7,-1,-48,-2,-95,-2,112,-2,71,-2,26,-2,-4,-3,-39,-3,-61,-3,-88,-3,-98,-3,-116,-3,-114,-3,-120,-3,-111,-3,-104,-3,-84,-3,-67,-3,-39,-3,-9,-3,26,-2,66,-2,108,-2,-103,-2,-51,-2,-1,-2,54,-1,111,-1,-93,-1,-28,-1,21,0,86,0,-117,0,-59,0,-7,0,45,1,94,1,-115,1,-73,1,-35,1,0,2,28,2,59,2,73,2,94,2,100,2,109,2,105,2,103,2,89,2,75,2,56,2,24,2,2,2,-42,1,-72,1,-120,1,93,1,45,1,-12,0,-57,0,-120,0,89,0,22,0,-26,-1,-90,-1,117,-1,58,-1,9,-1,-45,-2,-91,-2,118,-2,78,-2,42,-2,4,-2,-21,-3,-50,-3,-66,-3,-83,-3,-92,-3,-97,-3,-97,-3,-89,-3,-81,-3,-63,-3,-41,-3,-19,-3,16,-2,45,-2,89,-2,126,-2,-81,-2,-35,-2,16,-1,69,-1,122,-1,-77,-1,-22,-1,33,0,89,0,-114,0,-56,0,-9,0,45,1,86,1,-120,1,-83,1,-45,1,-11,1,13,2,43,2,55,2,78,2,78,2,92,2,79,2,86,2,64,2,55,2,30,2,6,2,-25,1,-57,1,-98,1,118,1,73,1,27,1,-25,0,-73,0,123,0,75,0,17,0,-36,-1,-92,-1,109,-1,59,-1,7,-1,-40,-2,-87,-2,123,-2,90,-2,46,-2,24,-2,-12,-3,-31,-3,-51,-3,-65,-3,-72,-3,-77,-3,-75,-3,-70,-3,-55,-3,-44,-3,-18,-3,3,-2,36,-2,69,-2,107,-2,-109,-2,-65,-2,-16,-2,31,-1,83,-1,-120,-1,-69,-1,-12,-1,41,0,94,0,-108,0,-59,0,-9,0,41,1,84,1,-128,1,-92,1,-57,1,-24,1,3,2,25,2,41,2,57,2,61,2,69,2,64,2,60,2,44,2,34,2,6,2,-14,1,-45,1,-81,1,-114,1,97,1,55,1,10,1,-40,0,-89,0,116,0,61,0,8,0,-42,-1,-99,-1,111,-1,54,-1,10,-1,-40,-2,-80,-2,-124,-2,95,-2,61,-2,29,-2,9,-2,-22,-3,-29,-3,-51,-3,-51,-3,-59,-3,-53,-3,-50,-3,-34,-3,-22,-3,3,-2,25,-2,57,-2,89,-2,126,-2,-89,-2,-47,-2,-1,-2,46,-1,97,-1,-109,-1,-56,-1,-6,-1,47,0,100,0,-106,0,-57,0,-8,0,35,1,80,1,119,1,-98,1,-68,1,-35,1,-14,1,12,2,25,2,37,2,47,2,45,2,48,2,34,2,30,2,5,2,-6,1,-42,1,-61,1,-104,1,125,1,77,1,42,1,-10,0,-53,0,-103,0,102,0,55,0,-1,-1,-48,-1,-103,-1,105,-1,57,-1,11,-1,-36,-2,-77,-2,-117,-2,104,-2,73,-2,41,-2,20,-2,-5,-3,-14,-3,-35,-3,-29,-3,-44,-3,-30,-3,-31,-3,-15,-3,1,-2,21,-2,48,-2,76,-2,108,-2,-112,-2,-71,-2,-30,-2,15,-1,62,-1,107,-1,-97,-1,-47,-1,3,0,53,0,104,0,-106,0,-53,0,-12,0,35,1}; }
	private static byte[] data13(){ return new byte[] {72,1,115,1,-110,1,-76,1,-48,1,-27,1,-3,1,8,2,22,2,26,2,30,2,23,2,21,2,2,2,-7,1,-36,1,-53,1,-88,1,-116,1,101,1,64,1,21,1,-22,0,-66,0,-118,0,93,0,43,0,-8,-1,-54,-1,-107,-1,101,-1,59,-1,7,-1,-27,-2,-74,-2,-109,-2,112,-2,82,-2,55,-2,31,-2,13,-2,-3,-3,-11,-3,-19,-3,-19,-3,-17,-3,-6,-3,2,-2,23,-2,39,-2,69,-2,93,-2,-127,-2,-94,-2,-54,-2,-16,-2,33,-1,70,-1,-128,-1,-92,-1,-36,-1,8,0,60,0,109,0,-104,0,-54,0,-15,0,33,1,68,1,106,1,-116,1,-89,1,-58,1,-39,1,-20,1,-5,1,3,2,11,2,9,2,7,2,-2,1,-14,1,-28,1,-56,1,-71,1,-110,1,124,1,83,1,47,1,7,1,-39,0,-79,0,127,0,85,0,31,0,-12,-1,-64,-1,-108,-1,102,-1,54,-1,14,-1,-29,-2,-67,-2,-100,-2,118,-2,95,-2,65,-2,44,-2,29,-2,11,-2,6,-2,-2,-3,0,-2,1,-2,12,-2,23,-2,41,-2,60,-2,87,-2,112,-2,-110,-2,-77,-2,-37,-2,1,-1,45,-1,85,-1,-121,-1,-77,-1,-30,-1,19,0,62,0,111,0,-100,0,-56,0,-13,0,25,1,65,1,97,1,-123,1,-98,1,-71,1,-53,1,-32,1,-23,1,-10,1,-8,1,-9,1,-9,1,-23,1,-32,1,-49,1,-71,1,-93,1,-124,1,102,1,68,1,30,1,-9,0,-50,0,-95,0,118,0,72,0,25,0,-18,-1,-70,-1,-109,-1,95,-1,61,-1,11,-1,-21,-2,-65,-2,-93,-2,-128,-2,103,-2,78,-2,57,-2,41,-2,29,-2,19,-2,18,-2,13,-2,24,-2,27,-2,44,-2,57,-2,80,-2,104,-2,-125,-2,-91,-2,-63,-2,-20,-2,13,-1,61,-1,98,-1,-112,-1,-66,-1,-25,-1,28,0,67,0,115,0,-100,0,-56,0,-17,0,24,1,58,1,92,1,121,1,-105,1,-86,1,-61,1,-50,1,-34,1,-30,1,-22,1,-27,1,-28,1,-38,1,-52,1,-67,1,-89,1,-113,1,117,1,84,1,52,1,15,1,-24,0,-63,0,-106,0,106,0,63,0,17,0,-26,-1,-72,-1,-113,-1,96,-1,57,-1,16,-1,-19,-2,-57,-2,-86,-2,-122,-2,116,-2,85,-2,74,-2,53,-2,44,-2,35,-2,32,-2,34,-2,38,-2,47,-2,60,-2,77,-2,97,-2,122,-2,-109,-2,-74,-2,-45,-2,-7,-2,29,-1,70,-1,113,-1,-104,-1,-55,-1,-18,-1,32,0,73,0,116,0,-96,0,-59,0,-16,0,16,1,58,1,80,1,118,1,-121,1,-92,1,-78,1,-59,1,-53,1,-40,1,-45,1,-37,1,-51,1,-52,1,-71,1,-84,1,-108,1,-127,1,95,1,73,1,33,1,3,1,-39,0,-75,0,-120,0,100,0,52,0,12,0,-35,-1,-74,-1,-119,-1,98,-1,58,-1,18,-1,-17,-2,-50,-2,-81,-2,-110,-2,123,-2,98,-2,83,-2,69,-2,56,-2,53,-2,47,-2,50,-2,55,-2,65,-2,76,-2,96,-2,114,-2,-117,-2,-92,-2,-60,-2,-30,-2,10,-1,41,-1,84,-1,122,-1,-93,-1,-49,-1,-6,-1,33,0,79,0,118,0,-97,0,-55,0,-23,0,16,1,47,1,78,1,106,1,-126,1,-108,1,-85,1,-79,1,-60,1,-63,1,-53,1,-59,1,-64,1,-71,1,-89,1,-101,1,-123,1,108,1,85,1,50,1,23,1,-14,0,-51,0,-87,0,-128,0,85,0,49,0,0,0,-34,-1,-82,-1,-119,-1,95,-1,60,-1,20,-1,-11,-2,-45,-2,-76,-2,-99,-2,-126,-2,112,-2,93,-2,83,-2,69,-2,69,-2,61,-2,68,-2,69,-2,85,-2,91,-2,113,-2,-126,-2,-101,-2,-74,-2,-46,-2,-14,-2,21,-1,55,-1,97,-1,-125,-1,-81,-1,-43,-1,-1,-1,40,0,82,0,120,0,-95,0,-60,0,-22,0,9,1,44,1,70,1,98,1,120,1,-118,1,-100,1,-86,1,-80,1,-72,1,-72,1,-74,1,-79,1,-89,1,-103,1,-120,1,118,1,92,1,68,1,38,1,6,1,-26,0,-65,0,-98,0,117,0,78,0,40,0,-6,-1,-40,-1,-83,-1,-123,-1,98,-1,55,-1,29,-1,-12,-2,-37,-2,-69,-2,-91,-2,-117,-2,124,-2,104,-2,96,-2,84,-2,81,-2,77,-2,84,-2,86,-2,98,-2,111,-2,126,-2,-107,-2,-87,-2,-59,-2,-32,-2,2,-1,33,-1,67,-1,108,-1,-116,-1,-70,-1,-36,-1,5,0,46,0,84,0,124,0,-96,0,-60,0,-27,0,9,1,33,1,68,1,85,1,113,1,-128,1,-113,1,-98,1,-95,1,-84,1,-89,1,-88,1,-94,1,-108,1,-116,1,119,1,101,1,81,1,47,1,29,1,-12,0,-35,0,-79,0,-108,0,105,0,73,0,27,0,-3,-1,-53,-1,-81,-1,-128,-1,99,-1,60,-1,26,-1,-3,-2,-35,-2,-61,-2}; }
	private static byte[] data14(){ return new byte[] {-83,-2,-108,-2,-121,-2,115,-2,109,-2,96,-2,96,-2,93,-2,97,-2,103,-2,114,-2,123,-2,-109,-2,-96,-2,-68,-2,-46,-2,-17,-2,14,-1,45,-1,82,-1,114,-1,-101,-1,-67,-1,-27,-1,12,0,49,0,88,0,123,0,-95,0,-61,0,-28,0,2,1,31,1,57,1,80,1,102,1,117,1,-123,1,-111,1,-107,1,-100,1,-101,1,-105,1,-109,1,-122,1,122,1,105,1,87,1,61,1,41,1,6,1,-18,0,-53,0,-85,0,-122,0,99,0,60,0,25,0,-14,-1,-52,-1,-87,-1,-126,-1,95,-1,64,-1,27,-1,4,-1,-32,-2,-51,-2,-79,-2,-95,-2,-114,-2,-126,-2,119,-2,109,-2,111,-2,105,-2,114,-2,116,-2,-126,-2,-116,-2,-97,-2,-79,-2,-55,-2,-31,-2,-2,-2,25,-1,59,-1,90,-1,-127,-1,-96,-1,-56,-1,-22,-1,15,0,56,0,89,0,126,0,-96,0,-65,0,-28,0,-4,0,28,1,48,1,73,1,92,1,107,1,123,1,-126,1,-117,1,-115,1,-115,1,-119,1,-124,1,119,1,108,1,91,1,68,1,53,1,19,1,1,1,-35,0,-63,0,-97,0,124,0,91,0,54,0,16,0,-17,-1,-59,-1,-88,-1,-127,-1,97,-1,63,-1,32,-1,5,-1,-23,-2,-46,-2,-69,-2,-88,-2,-102,-2,-116,-2,-127,-2,127,-2,118,-2,126,-2,122,-2,-122,-2,-114,-2,-99,-2,-83,-2,-64,-2,-41,-2,-20,-2,13,-1,37,-1,71,-1,102,-1,-122,-1,-84,-1,-50,-1,-15,-1,24,0,53,0,95,0,124,0,-93,0,-66,0,-34,0,-8,0,22,1,42,1,67,1,79,1,102,1,107,1,122,1,123,1,-126,1,127,1,123,1,118,1,103,1,95,1,74,1,60,1,32,1,13,1,-19,0,-43,0,-75,0,-107,0,116,0,81,0,46,0,13,0,-25,-1,-58,-1,-94,-1,-127,-1,96,-1,68,-1,32,-1,12,-1,-21,-2,-36,-2,-64,-2,-76,-2,-94,-2,-105,-2,-113,-2,-120,-2,-122,-2,-120,-2,-118,-2,-107,-2,-102,-2,-82,-2,-72,-2,-49,-2,-29,-2,-3,-2,21,-1,52,-1,79,-1,113,-1,-111,-1,-78,-1,-43,-1,-9,-1,27,0,60,0,95,0,126,0,-97,0,-66,0,-38,0,-9,0,13,1,36,1,58,1,72,1,91,1,97,1,109,1,114,1,114,1,116,1,108,1,104,1,90,1,82,1,59,1,45,1,22,1,-3,0,-28,0,-56,0,-88,0,-114,0,105,0,75,0,39,0,6,0,-29,-1,-60,-1,-97,-1,-126,-1,96,-1,67,-1,41,-1,10,-1,-8,-2,-37,-2,-50,-2,-71,-2,-82,-2,-96,-2,-101,-2,-108,-2,-109,-2,-108,-2,-103,-2,-96,-2,-85,-2,-72,-2,-56,-2,-37,-2,-13,-2,6,-1,37,-1,59,-1,92,-1,122,-1,-103,-1,-68,-1,-38,-1,-4,-1,32,0,63,0,97,0,127,0,-97,0,-70,0,-38,0,-18,0,12,1,26,1,52,1,63,1,80,1,89,1,96,1,103,1,100,1,105,1,94,1,91,1,78,1,64,1,50,1,30,1,9,1,-15,0,-39,0,-68,0,-96,0,-127,0,99,0,65,0,35,0,1,0,-34,-1,-64,-1,-97,-1,-128,-1,99,-1,68,-1,43,-1,16,-1,-4,-2,-29,-2,-42,-2,-64,-2,-71,-2,-86,-2,-91,-2,-94,-2,-99,-2,-93,-2,-91,-2,-83,-2,-72,-2,-57,-2,-45,-2,-20,-2,-7,-2,23,-1,45,-1,72,-1,103,-1,-127,-1,-93,-1,-64,-1,-30,-1,3,0,33,0,67,0,96,0,-125,0,-100,0,-70,0,-43,0,-22,0,6,1,21,1,42,1,56,1,70,1,78,1,86,1,90,1,90,1,89,1,85,1,74,1,67,1,51,1,37,1,17,1,-3,0,-25,0,-54,0,-75,0,-107,0,121,0,90,0,59,0,26,0,-1,-1,-39,-1,-66,-1,-100,-1,-127,-1,98,-1,72,-1,46,-1,22,-1,-1,-2,-19,-2,-40,-2,-49,-2,-67,-2,-72,-2,-81,-2,-85,-2,-83,-2,-85,-2,-76,-2,-71,-2,-59,-2,-45,-2,-30,-2,-12,-2,10,-1,30,-1,58,-1,83,-1,111,-1,-117,-1,-85,-1,-58,-1,-23,-1,6,0,38,0,70,0,97,0,-126,0,-102,0,-69,0,-50,0,-21,0,-6,0,19,1,34,1,47,1,61,1,68,1,74,1,81,1,77,1,78,1,70,1,65,1,51,1,42,1,21,1,7,1,-16,0,-37,0,-62,0,-87,0,-117,0,114,0,81,0,54,0,21,0,-9,-1,-40,-1,-70,-1,-98,-1,126,-1,101,-1,72,-1,50,-1,26,-1,7,-1,-17,-2,-26,-2,-48,-2,-52,-2,-65,-2,-71,-2,-71,-2,-75,-2,-70,-2,-65,-2,-59,-2,-45,-2,-34,-2,-18,-2,2,-1,18,-1,45,-1,67,-1,92,-1,121,-1,-110,-1,-77,-1,-51,-1,-16,-1,7,0,45,0,68,0,101,0,-127,0,-102,0,-74,0,-50,0,-31,0,-5,0,9,1,26,1,41,1}; }
	private static byte[] data15(){ return new byte[] {49,1,60,1,65,1,67,1,69,1,63,1,61,1,51,1,40,1,29,1,10,1,-4,0,-29,0,-47,0,-73,0,-96,0,-125,0,105,0,73,0,48,0,17,0,-14,-1,-42,-1,-73,-1,-100,-1,127,-1,104,-1,72,-1,56,-1,28,-1,12,-1,-8,-2,-21,-2,-37,-2,-45,-2,-55,-2,-61,-2,-59,-2,-66,-2,-55,-2,-57,-2,-44,-2,-35,-2,-22,-2,-6,-2,14,-1,29,-1,56,-1,75,-1,104,-1,126,-1,-97,-1,-74,-1,-43,-1,-13,-1,14,0,45,0,74,0,99,0,-128,0,-101,0,-78,0,-53,0,-35,0,-12,0,3,1,19,1,33,1,39,1,53,1,52,1,58,1,57,1,52,1,50,1,38,1,31,1,13,1,3,1,-20,0,-35,0,-60,0,-82,0,-107,0,124,0,96,0,70,0,37,0,14,0,-19,-1,-44,-1,-74,-1,-102,-1,-127,-1,101,-1,81,-1,53,-1,38,-1,14,-1,0,-1,-15,-2,-29,-2,-35,-2,-47,-2,-48,-2,-53,-2,-51,-2,-47,-2,-44,-2,-32,-2,-25,-2,-8,-2,2,-1,27,-1,39,-1,67,-1,85,-1,111,-1,-119,-1,-93,-1,-65,-1,-36,-1,-11,-1,19,0,48,0,74,0,104,0,125,0,-102,0,-81,0,-56,0,-37,0,-20,0,-2,0,11,1,24,1,34,1,39,1,45,1,46,1,47,1,41,1,38,1,27,1,18,1,5,1,-11,0,-30,0,-45,0,-71,0,-89,0,-117,0,114,0,92,0,58,0,40,0,3,0,-20,-1,-49,-1,-75,-1,-103,-1,-125,-1,103,-1,80,-1,61,-1,38,-1,22,-1,6,-1,-8,-2,-20,-2,-28,-2,-38,-2,-38,-2,-41,-2,-41,-2,-37,-2,-32,-2,-22,-2,-13,-2,4,-1,12,-1,38,-1,48,-1,77,-1,95,-1,120,-1,-110,-1,-89,-1,-56,-1,-35,-1,-2,-1,23,0,47,0,78,0,101,0,-128,0,-104,0,-83,0,-62,0,-40,0,-26,0,-7,0,4,1,15,1,26,1,29,1,37,1,36,1,34,1,34,1,23,1,20,1,5,1,-6,0,-21,0,-40,0,-56,0,-80,0,-99,0,-125,0,109,0,80,0,58,0,27,0,6,0,-27,-1,-50,-1,-78,-1,-103,-1,-125,-1,105,-1,84,-1,62,-1,44,-1,28,-1,11,-1,0,-1,-14,-2,-19,-2,-27,-2,-30,-2,-31,-2,-32,-2,-25,-2,-20,-2,-14,-2,2,-1,8,-1,30,-1,41,-1,65,-1,81,-1,106,-1,127,-1,-103,-1,-79,-1,-52,-1,-29,-1,1,0,24,0,54,0,77,0,102,0,127,0,-108,0,-82,0,-68,0,-43,0,-32,0,-13,0,-4,0,10,1,15,1,22,1,28,1,23,1,28,1,20,1,15,1,8,1,-5,0,-16,0,-34,0,-46,0,-70,0,-84,0,-113,0,127,0,97,0,79,0,47,0,27,0,-4,-1,-26,-1,-53,-1,-79,-1,-101,-1,126,-1,112,-1,83,-1,68,-1,49,-1,31,-1,18,-1,8,-1,-8,-2,-9,-2,-20,-2,-21,-2,-20,-2,-22,-2,-15,-2,-12,-2,1,-1,6,-1,26,-1,33,-1,57,-1,69,-1,94,-1,112,-1,-120,-1,-97,-1,-71,-1,-49,-1,-19,-1,-1,-1,32,0,53,0,80,0,103,0,124,0,-107,0,-89,0,-66,0,-52,0,-35,0,-21,0,-8,0,-2,0,12,1,9,1,20,1,16,1,15,1,12,1,3,1,-2,0,-14,0,-28,0,-41,0,-59,0,-78,0,-92,0,-122,0,120,0,91,0,69,0,46,0,19,0,-4,-1,-32,-1,-54,-1,-80,-1,-103,-1,-123,-1,106,-1,91,-1,68,-1,54,-1,38,-1,23,-1,13,-1,2,-1,-3,-2,-10,-2,-11,-2,-14,-2,-9,-2,-8,-2,2,-1,7,-1,20,-1,32,-1,46,-1,63,-1,82,-1,99,-1,122,-1,-113,-1,-90,-1,-65,-1,-43,-1,-18,-1,9,0,30,0,57,0,79,0,103,0,126,0,-110,0,-91,0,-72,0,-55,0,-41,0,-24,0,-19,0,-4,0,-3,0,8,1,5,1,11,1,3,1,2,1,-4,0,-15,0,-22,0,-39,0,-50,0,-67,0,-87,0,-103,0,-127,0,111,0,86,0,62,0,41,0,13,0,-6,-1,-35,-1,-56,-1,-80,-1,-103,-1,-125,-1,112,-1,92,-1,71,-1,61,-1,39,-1,33,-1,17,-1,12,-1,2,-1,0,-1,-3,-2,-4,-2,0,-1,3,-1,8,-1,22,-1,25,-1,44,-1,55,-1,72,-1,92,-1,105,-1,-124,-1,-108,-1,-82,-1,-60,-1,-38,-1,-12,-1,8,0,37,0,56,0,82,0,102,0,124,0,-112,0,-93,0,-74,0,-62,0,-42,0,-36,0,-20,0,-16,0,-6,0,-4,0,-1,0,-1,0,-4,0,-8,0,-14,0,-23,0,-34,0,-47,0,-60,0,-77,0,-92,0,-114,0,124,0,100,0,83,0,55,0,37,0,10,0,-13,-1,-35,-1,-58,-1,-82,-1,-100,-1,-126,-1,114,-1,94,-1,78,-1,62,-1,46,-1,38,-1,23,-1,20,-1,10,-1,7,-1}; }
	private static byte[] data16(){ return new byte[] {7,-1,3,-1,11,-1,10,-1,21,-1,27,-1,38,-1,52,-1,63,-1,83,-1,96,-1,118,-1,-120,-1,-99,-1,-77,-1,-55,-1,-32,-1,-9,-1,14,0,36,0,59,0,82,0,101,0,125,0,-115,0,-96,0,-79,0,-63,0,-52,0,-36,0,-31,0,-20,0,-17,0,-8,0,-12,0,-9,0,-13,0,-17,0,-23,0,-34,0,-41,0,-58,0,-66,0,-88,0,-101,0,-120,0,115,0,97,0,73,0,53,0,30,0,6,0,-12,-1,-42,-1,-55,-1,-87,-1,-97,-1,-127,-1,119,-1,94,-1,81,-1,68,-1,51,-1,42,-1,33,-1,22,-1,22,-1,13,-1,14,-1,15,-1,15,-1,24,-1,28,-1,35,-1,49,-1,58,-1,75,-1,89,-1,105,-1,125,-1,-114,-1,-89,-1,-75,-1,-47,-1,-29,-1,-6,-1,19,0,37,0,62,0,80,0,103,0,121,0,-114,0,-101,0,-80,0,-72,0,-52,0,-46,0,-34,0,-28,0,-24,0,-18,0,-18,0,-18,0,-21,0,-27,0,-32,0,-42,0,-51,0,-64,0,-78,0,-94,0,-108,0,125,0,113,0,86,0,70,0,48,0,24,0,5,0,-19,-1,-39,-1,-61,-1,-82,-1,-103,-1,-120,-1,116,-1,101,-1,83,-1,72,-1,56,-1,48,-1,39,-1,29,-1,30,-1,19,-1,25,-1,19,-1,29,-1,28,-1,39,-1,45,-1,55,-1,69,-1,82,-1,98,-1,113,-1,-125,-1,-104,-1,-91,-1,-59,-1,-51,-1,-19,-1,-4,-1,19,0,42,0,61,0,83,0,100,0,122,0,-119,0,-101,0,-86,0,-73,0,-61,0,-48,0,-44,0,-33,0,-29,0,-28,0,-24,0,-29,0,-28,0,-35,0,-41,0,-51,0,-59,0,-74,0,-83,0,-105,0,-114,0,118,0,105,0,82,0,64,0,40,0,26,0,-5,-1,-15,-1,-46,-1,-60,-1,-82,-1,-102,-1,-120,-1,120,-1,101,-1,90,-1,74,-1,62,-1,54,-1,43,-1,39,-1,32,-1,32,-1,28,-1,33,-1,32,-1,39,-1,46,-1,54,-1,65,-1,77,-1,87,-1,108,-1,119,-1,-115,-1,-102,-1,-79,-1,-62,-1,-38,-1,-21,-1,2,0,22,0,42,0,63,0,82,0,102,0,118,0,-118,0,-107,0,-87,0,-79,0,-64,0,-56,0,-48,0,-40,0,-37,0,-35,0,-32,0,-37,0,-36,0,-44,0,-49,0,-60,0,-67,0,-81,0,-94,0,-107,0,-128,0,118,0,93,0,81,0,55,0,39,0,17,0,-3,-1,-22,-1,-44,-1,-64,-1,-81,-1,-103,-1,-116,-1,120,-1,106,-1,92,-1,78,-1,69,-1,57,-1,51,-1,45,-1,39,-1,39,-1,35,-1,42,-1,38,-1,51,-1,50,-1,65,-1,70,-1,87,-1,97,-1,111,-1,-126,-1,-114,-1,-90,-1,-76,-1,-55,-1,-37,-1,-14,-1,3,0,24,0,46,0,61,0,85,0,98,0,119,0,-122,0,-107,0,-93,0,-83,0,-67,0,-63,0,-53,0,-47,0,-44,0,-41,0,-42,0,-41,0,-48,0,-48,0,-61,0,-64,0,-78,0,-88,0,-101,0,-116,0,125,0,107,0,92,0,69,0,57,0,31,0,14,0,-4,-1,-28,-1,-43,-1,-64,-1,-83,-1,-100,-1,-117,-1,123,-1,109,-1,96,-1,81,-1,75,-1,61,-1,59,-1,49,-1,47,-1,46,-1,43,-1,48,-1,48,-1,57,-1,60,-1,72,-1,78,-1,94,-1,104,-1,120,-1,-121,-1,-106,-1,-86,-1,-71,-1,-49,-1,-33,-1,-10,-1,4,0,30,0,42,0,67,0,80,0,102,0,115,0,-124,0,-110,0,-97,0,-85,0,-75,0,-66,0,-60,0,-53,0,-50,0,-50,0,-46,0,-53,0,-51,0,-60,0,-65,0,-75,0,-83,0,-97,0,-108,0,-123,0,118,0,101,0,86,0,65,0,50,0,28,0,13,0,-11,-1,-26,-1,-47,-1,-64,-1,-82,-1,-100,-1,-115,-1,125,-1,112,-1,99,-1,85,-1,81,-1,65,-1,66,-1,53,-1,56,-1,52,-1,50,-1,58,-1,51,-1,69,-1,64,-1,82,-1,86,-1,100,-1,113,-1,124,-1,-112,-1,-102,-1,-79,-1,-66,-1,-45,-1,-29,-1,-8,-1,9,0,30,0,46,0,64,0,83,0,97,0,118,0,127,0,-112,0,-101,0,-89,0,-80,0,-70,0,-67,0,-58,0,-58,0,-55,0,-56,0,-56,0,-62,0,-66,0,-73,0,-82,0,-92,0,-101,0,-119,0,-127,0,111,0,96,0,79,0,62,0,42,0,29,0,4,0,-8,-1,-32,-1,-46,-1,-65,-1,-82,-1,-99,-1,-114,-1,-127,-1,112,-1,104,-1,91,-1,81,-1,75,-1,67,-1,63,-1,60,-1,59,-1,58,-1,62,-1,63,-1,72,-1,75,-1,87,-1,94,-1,106,-1,121,-1,-126,-1,-105,-1,-96,-1,-75,-1,-61,-1,-40,-1,-26,-1,-3,-1,9,0,32,0,48,0,65,0,82,0,98,0,113,0,-128,0,-117,0,-101,0,-98,0,-79,0,-81,0,-67,0,-68,0,-62,0,-63,0,-62,0,-63,0}; }
	private static byte[] data17(){ return new byte[] {-70,0,-72,0,-82,0,-88,0,-99,0,-109,0,-125,0,124,0,102,0,93,0,72,0,57,0,41,0,22,0,3,0,-11,-1,-34,-1,-46,-1,-67,-1,-81,-1,-97,-1,-113,-1,-126,-1,117,-1,105,-1,98,-1,83,-1,83,-1,69,-1,73,-1,62,-1,69,-1,63,-1,69,-1,73,-1,74,-1,88,-1,88,-1,106,-1,110,-1,-127,-1,-120,-1,-100,-1,-90,-1,-69,-1,-58,-1,-35,-1,-23,-1,-1,-1,14,0,31,0,49,0,66,0,82,0,97,0,111,0,125,0,-119,0,-106,0,-98,0,-89,0,-81,0,-77,0,-71,0,-70,0,-68,0,-69,0,-72,0,-74,0,-82,0,-88,0,-94,0,-108,0,-114,0,126,0,112,0,103,0,82,0,71,0,53,0,34,0,20,0,1,0,-16,-1,-31,-1,-51,-1,-65,-1,-82,-1,-96,-1,-111,-1,-123,-1,120,-1,108,-1,101,-1,89,-1,86,-1,77,-1,76,-1,72,-1,71,-1,73,-1,74,-1,80,-1,82,-1,94,-1,96,-1,111,-1,119,-1,-124,-1,-111,-1,-97,-1,-82,-1,-67,-1,-50,-1,-35,-1,-16,-1,-1,-1,17,0,33,0,50,0,66,0,81,0,97,0,108,0,125,0,-123,0,-110,0,-101,0,-94,0,-86,0,-82,0,-76,0,-77,0,-73,0,-77,0,-78,0,-81,0,-88,0,-94,0,-104,0,-111,0,-123,0,122,0,106,0,95,0,79,0,65,0,49,0,31,0,16,0,-1,-1,-17,-1,-36,-1,-48,-1,-68,-1,-78,-1,-99,-1,-106,-1,-124,-1,125,-1,111,-1,104,-1,95,-1,89,-1,85,-1,79,-1,79,-1,77,-1,79,-1,82,-1,85,-1,91,-1,97,-1,107,-1,114,-1,127,-1,-118,-1,-106,-1,-91,-1,-77,-1,-64,-1,-43,-1,-33,-1,-12,-1,1,0,18,0,35,0,51,0,67,0,80,0,94,0,108,0,120,0,-123,0,-114,0,-106,0,-98,0,-91,0,-86,0,-83,0,-81,0,-82,0,-81,0,-85,0,-88,0,-94,0,-102,0,-107,0,-121,0,-128,0,115,0,102,0,91,0,72,0,61,0,43,0,31,0,11,0,-2,-1,-21,-1,-35,-1,-50,-1,-66,-1,-82,-1,-92,-1,-109,-1,-119,-1,127,-1,114,-1,108,-1,100,-1,93,-1,89,-1,87,-1,82,-1,86,-1,83,-1,90,-1,89,-1,100,-1,102,-1,114,-1,121,-1,-125,-1,-110,-1,-102,-1,-84,-1,-74,-1,-57,-1,-43,-1,-26,-1,-13,-1,8,0,17,0,38,0,49,0,68,0,79,0,96,0,103,0,120,0,-128,0,-116,0,-111,0,-100,0,-98,0,-90,0,-89,0,-87,0,-86,0,-90,0,-89,0,-96,0,-100,0,-107,0,-116,0,-124,0,120,0,111,0,95,0,86,0,68,0,59,0,36,0,29,0,7,0,-4,-1,-21,-1,-37,-1,-52,-1,-65,-1,-81,-1,-92,-1,-106,-1,-117,-1,-127,-1,118,-1,111,-1,105,-1,97,-1,96,-1,89,-1,91,-1,89,-1,91,-1,95,-1,96,-1,106,-1,107,-1,122,-1,126,-1,-119,-1,-105,-1,-95,-1,-82,-1,-66,-1,-56,-1,-37,-1,-24,-1,-9,-1,7,0,21,0,40,0,49,0,66,0,81,0,90,0,108,0,114,0,126,0,-120,0,-114,0,-105,0,-101,0,-98,0,-90,0,-98,0,-87,0,-98,0,-95,0,-102,0,-105,0,-116,0,-118,0,122,0,118,0,102,0,94,0,77,0,67,0,50,0,39,0,21,0,7,0,-8,-1,-23,-1,-37,-1,-51,-1,-67,-1,-79,-1,-92,-1,-103,-1,-116,-1,-122,-1,119,-1,118,-1,106,-1,103,-1,101,-1,94,-1,98,-1,93,-1,98,-1,100,-1,103,-1,112,-1,113,-1,-128,-1,-126,-1,-110,-1,-103,-1,-88,-1,-77,-1,-64,-1,-50,-1,-34,-1,-21,-1,-5,-1,8,0,23,0,39,0,51,0,67,0,78,0,92,0,102,0,114,0,123,0,-123,0,-118,0,-109,0,-107,0,-98,0,-104,0,-92,0,-104,0,-95,0,-105,0,-107,0,-111,0,-121,0,-126,0,120,0,107,0,103,0,84,0,75,0,63,0,45,0,35,0,19,0,5,0,-10,-1,-24,-1,-40,-1,-51,-1,-65,-1,-79,-1,-91,-1,-101,-1,-115,-1,-118,-1,122,-1,121,-1,112,-1,106,-1,106,-1,99,-1,102,-1,101,-1,102,-1,106,-1,109,-1,117,-1,121,-1,-126,-1,-116,-1,-109,-1,-94,-1,-86,-1,-73,-1,-56,-1,-49,-1,-29,-1,-20,-1,-4,-1,13,0,23,0,41,0,50,0,67,0,77,0,90,0,102,0,111,0,120,0,-127,0,-121,0,-114,0,-108,0,-109,0,-101,0,-106,0,-101,0,-108,0,-106,0,-115,0,-116,0,-126,0,122,0,116,0,103,0,95,0,81,0,71,0,56,0,45,0,30,0,16,0,3,0,-12,-1,-26,-1,-37,-1,-56,-1,-62,-1,-81,-1,-86,-1,-103,-1,-107,-1,-122,-1,-126,-1,123,-1,113,-1,117,-1,104,-1,109,-1,105,-1,105,-1,110,-1,110,-1,116,-1,121,-1}; }
	private static byte[] data18(){ return new byte[] {-127,-1,-123,-1,-109,-1,-104,-1,-90,-1,-80,-1,-68,-1,-56,-1,-42,-1,-29,-1,-13,-1,-4,-1,15,0,24,0,40,0,55,0,63,0,78,0,89,0,97,0,112,0,116,0,125,0,-122,0,-122,0,-109,0,-116,0,-104,0,-112,0,-107,0,-112,0,-113,0,-119,0,-122,0,123,0,120,0,107,0,101,0,89,0,77,0,66,0,53,0,40,0,29,0,12,0,2,0,-14,-1,-27,-1,-40,-1,-52,-1,-66,-1,-75,-1,-90,-1,-97,-1,-109,-1,-116,-1,-123,-1,125,-1,119,-1,118,-1,111,-1,113,-1,110,-1,111,-1,114,-1,117,-1,120,-1,127,-1,-123,-1,-115,-1,-106,-1,-98,-1,-86,-1,-76,-1,-63,-1,-51,-1,-40,-1,-25,-1,-14,-1,3,0,13,0,28,0,39,0,54,0,64,0,78,0,85,0,100,0,103,0,119,0,120,0,-128,0,-120,0,-121,0,-113,0,-113,0,-117,0,-110,0,-119,0,-117,0,-125,0,127,0,121,0,111,0,107,0,92,0,85,0,73,0,63,0,48,0,39,0,23,0,10,0,1,0,-18,-1,-25,-1,-43,-1,-51,-1,-66,-1,-76,-1,-85,-1,-98,-1,-104,-1,-115,-1,-120,-1,-128,-1,126,-1,118,-1,119,-1,116,-1,114,-1,119,-1,117,-1,122,-1,127,-1,-125,-1,-117,-1,-110,-1,-102,-1,-92,-1,-82,-1,-71,-1,-61,-1,-47,-1,-35,-1,-24,-1,-9,-1,0,0,18,0,27,0,42,0,52,0,64,0,76,0,86,0,95,0,105,0,112,0,119,0,126,0,-127,0,-122,0,-120,0,-118,0,-118,0,-120,0,-119,0,-128,0,-125,0,118,0,118,0,106,0,100,0,89,0,81,0,68,0,60,0,44,0,35,0,23,0,5,0,2,0,-22,-1,-24,-1,-44,-1,-52,-1,-64,-1,-76,-1,-84,-1,-96,-1,-101,-1,-114,-1,-115,-1,-126,-1,-125,-1,122,-1,124,-1,117,-1,124,-1,119,-1,126,-1,125,-1,-124,-1,-119,-1,-113,-1,-104,-1,-99,-1,-86,-1,-78,-1,-67,-1,-57,-1,-43,-1,-35,-1,-17,-1,-10,-1,6,0,16,0,29,0,41,0,53,0,65,0,74,0,83,0,96,0,99,0,114,0,112,0,125,0,124,0,-125,0,-125,0,-122,0,-123,0,-124,0,-125,0,124,0,126,0,113,0,113,0,101,0,95,0,86,0,75,0,66,0,54,0,43,0,30,0,20,0,6,0,-4,-1,-19,-1,-29,-1,-42,-1,-52,-1,-63,-1,-77,-1,-80,-1,-97,-1,-97,-1,-111,-1,-113,-1,-121,-1,-124,-1,127,-1,-128,-1,124,-1,125,-1,127,-1,127,-1,-122,-1,-122,-1,-112,-1,-109,-1,-100,-1,-92,-1,-85,-1,-72,-1,-64,-1,-52,-1,-41,-1,-31,-1,-17,-1,-7,-1,8,0,18,0,30,0,41,0,53,0,63,0,74,0,84,0,90,0,101,0,107,0,113,0,119,0,122,0,126,0,127,0,-126,0,-128,0,127,0,127,0,120,0,118,0,112,0,105,0,98,0,91,0,80,0,73,0,61,0,50,0,41,0,26,0,19,0,2,0,-4,-1,-22,-1,-27,-1,-45,-1,-50,-1,-65,-1,-72,-1,-82,-1,-92,-1,-97,-1,-108,-1,-109,-1,-120,-1,-118,-1,-125,-1,-125,-1,-127,-1,-127,-1,-125,-1,-122,-1,-120,-1,-115,-1,-108,-1,-105,-1,-94,-1,-90,-1,-77,-1,-72,-1,-56,-1,-54,-1,-34,-1,-29,-1,-15,-1,-3,-1,6,0,21,0,30,0,43,0,52,0,62,0,74,0,80,0,93,0,94,0,108,0,106,0,118,0,118,0,122,0,125,0,122,0,127,0,119,0,125,0,114,0,115,0,105,0,102,0,94,0,84,0,81,0,62,0,65,0,40,0,43,0,21,0,18,0,0,0,-7,-1,-21,-1,-30,-1,-43,-1,-51,-1,-65,-1,-69,-1,-83,-1,-89,-1,-95,-1,-106,-1,-106,-1,-114,-1,-119,-1,-117,-1,-126,-1,-118,-1,-126,-1,-117,-1,-121,-1,-113,-1,-111,-1,-105,-1,-98,-1,-93,-1,-82,-1,-76,-1,-65,-1,-57,-1,-45,-1,-36,-1,-24,-1,-13,-1,-2,-1,10,0,19,0,32,0,42,0,53,0,62,0,71,0,80,0,89,0,94,0,104,0,106,0,111,0,118,0,115,0,122,0,120,0,119,0,120,0,115,0,113,0,108,0,102,0,98,0,88,0,83,0,73,0,62,0,58,0,41,0,36,0,22,0,11,0,3,0,-11,-1,-21,-1,-31,-1,-44,-1,-50,-1,-64,-1,-69,-1,-81,-1,-85,-1,-98,-1,-96,-1,-110,-1,-107,-1,-115,-1,-117,-1,-117,-1,-119,-1,-118,-1,-115,-1,-115,-1,-110,-1,-106,-1,-100,-1,-96,-1,-85,-1,-81,-1,-71,-1,-61,-1,-56,-1,-39,-1,-34,-1,-21,-1,-11,-1,-2,-1,12,0,21,0,32,0,43,0,51,0,61,0,72,0,77,0,87,0,95,0,95,0,109,0,105,0,115,0,113,0,117,0,115,0,116,0,115,0,111,0,109,0,103,0,97,0,95,0,83,0}; }
	private static byte[] data19(){ return new byte[] {80,0,67,0,62,0,51,0,40,0,33,0,18,0,13,0,-2,-1,-11,-1,-22,-1,-33,-1,-41,-1,-53,-1,-59,-1,-73,-1,-75,-1,-89,-1,-88,-1,-100,-1,-103,-1,-106,-1,-113,-1,-110,-1,-115,-1,-114,-1,-114,-1,-112,-1,-110,-1,-105,-1,-103,-1,-94,-1,-93,-1,-81,-1,-78,-1,-66,-1,-59,-1,-50,-1,-39,-1,-30,-1,-19,-1,-10,-1,2,0,11,0,24,0,31,0,44,0,50,0,62,0,68,0,78,0,85,0,90,0,98,0,101,0,104,0,112,0,108,0,114,0,111,0,113,0,108,0,111,0,100,0,102,0,93,0,89,0,81,0,74,0,65,0,58,0,47,0,39,0,29,0,16,0,11,0,-4,-1,-12,-1,-22,-1,-34,-1,-41,-1,-52,-1,-60,-1,-70,-1,-76,-1,-83,-1,-91,-1,-94,-1,-101,-1,-106,-1,-103,-1,-114,-1,-106,-1,-114,-1,-106,-1,-111,-1,-104,-1,-102,-1,-98,-1,-91,-1,-87,-1,-79,-1,-73,-1,-63,-1,-57,-1,-45,-1,-37,-1,-28,-1,-17,-1,-8,-1,4,0,13,0,23,0,32,0,43,0,52,0,59,0,69,0,75,0,83,0,89,0,95,0,98,0,103,0,105,0,107,0,111,0,106,0,110,0,104,0,104,0,100,0,96,0,89,0,85,0,77,0,71,0,63,0,51,0,48,0,33,0,29,0,14,0,6,0,-2,-1,-15,-1,-22,-1,-34,-1,-42,-1,-52,-1,-58,-1,-69,-1,-75,-1,-82,-1,-87,-1,-94,-1,-96,-1,-104,-1,-101,-1,-108,-1,-104,-1,-110,-1,-103,-1,-106,-1,-100,-1,-98,-1,-95,-1,-86,-1,-84,-1,-74,-1,-70,-1,-60,-1,-53,-1,-43,-1,-33,-1,-27,-1,-13,-1,-8,-1,6,0,14,0,24,0,33,0,41,0,53,0,58,0,68,0,74,0,80,0,88,0,91,0,96,0,100,0,102,0,104,0,106,0,104,0,103,0,104,0,97,0,99,0,90,0,86,0,81,0,74,0,66,0,60,0,50,0,43,0,32,0,25,0,12,0,7,0,-7,-1,-13,-1,-25,-1,-33,-1,-41,-1,-53,-1,-57,-1,-68,-1,-73,-1,-79,-1,-88,-1,-88,-1,-98,-1,-96,-1,-102,-1,-101,-1,-104,-1,-103,-1,-102,-1,-101,-1,-97,-1,-92,-1,-93,-1,-81,-1,-82,-1,-70,-1,-66,-1,-56,-1,-51,-1,-40,-1,-31,-1,-24,-1,-11,-1,-6,-1,7,0,14,0,25,0,34,0,42,0,49,0,61,0,63,0,76,0,78,0,84,0,90,0,94,0,96,0,100,0,100,0,102,0,101,0,101,0,97,0,96,0,93,0,86,0,86,0,73,0,72,0,64,0,55,0,48,0,41,0,27,0,26,0,8,0,6,0,-8,-1,-14,-1,-26,-1,-33,-1,-42,-1,-51,-1,-57,-1,-67,-1,-70,-1,-80,-1,-83,-1,-87,-1,-95,-1,-92,-1,-100,-1,-98,-1,-100,-1,-99,-1,-100,-1,-94,-1,-96,-1,-88,-1,-89,-1,-77,-1,-79,-1,-66,-1,-62,-1,-57,-1,-42,-1,-42,-1,-27,-1,-21,-1,-13,-1,1,0,4,0,19,0,21,0,37,0,40,0,52,0,56,0,66,0,70,0,79,0,81,0,89,0,89,0,96,0,94,0,99,0,97,0,99,0,96,0,94,0,94,0,84,0,89,0,76,0,75,0,67,0,58,0,55,0,44,0,37,0,29,0,18,0,12,0,1,0,-8,-1,-16,-1,-25,-1,-34,-1,-41,-1,-51,-1,-57,-1,-64,-1,-71,-1,-77,-1,-81,-1,-86,-1,-89,-1,-94,-1,-93,-1,-98,-1,-94,-1,-99,-1,-91,-1,-97,-1,-86,-1,-91,-1,-79,-1,-79,-1,-70,-1,-67,-1,-57,-1,-54,-1,-40,-1,-38,-1,-25,-1,-21,-1,-8,-1,-2,-1,10,0,15,0,26,0,33,0,43,0,48,0,59,0,61,0,72,0,75,0,80,0,86,0,86,0,94,0,91,0,97,0,92,0,96,0,92,0,93,0,86,0,87,0,79,0,77,0,69,0,64,0,57,0,50,0,42,0,35,0,25,0,18,0,9,0,-1,-1,-6,-1,-20,-1,-23,-1,-36,-1,-40,-1,-51,-1,-55,-1,-63,-1,-70,-1,-74,-1,-81,-1,-82,-1,-87,-1,-91,-1,-90,-1,-95,-1,-92,-1,-92,-1,-93,-1,-88,-1,-87,-1,-84,-1,-77,-1,-76,-1,-67,-1,-62,-1,-56,-1,-48,-1,-42,-1,-32,-1,-25,-1,-17,-1,-7,-1,0,0,8,0,20,0,22,0,38,0,39,0,50,0,56,0,61,0,71,0,70,0,83,0,78,0,89,0,86,0,92,0,90,0,93,0,90,0,90,0,88,0,84,0,83,0,75,0,75,0,64,0,63,0,53,0,46,0,43,0,27,0,29,0,11,0,10,0,-2,-1,-10,-1,-17,-1,-27,-1,-34,-1,-40,-1,-51,-1,-53,-1,-65,-1,-64,-1,-76,-1,-75,-1,-84,-1,-83,-1,-87,-1,-90,-1,-88,-1,-93,-1,-86,-1,-92,-1,-82,-1,-87,-1,-77,-1,-77,-1,-70,-1,-65,-1,-60,-1,-51,-1,-49,-1}; }
	private static byte[] data20(){ return new byte[] {-34,-1,-34,-1,-21,-1,-15,-1,-8,-1,4,0,8,0,20,0,25,0,34,0,42,0,47,0,57,0,60,0,68,0,71,0,77,0,80,0,84,0,86,0,86,0,90,0,87,0,89,0,87,0,82,0,85,0,74,0,78,0,66,0,65,0,58,0,50,0,46,0,35,0,32,0,20,0,16,0,3,0,-1,-1,-11,-1,-18,-1,-26,-1,-35,-1,-41,-1,-47,-1,-56,-1,-60,-1,-67,-1,-71,-1,-75,-1,-79,-1,-82,-1,-85,-1,-87,-1,-85,-1,-89,-1,-84,-1,-86,-1,-83,-1,-79,-1,-78,-1,-71,-1,-68,-1,-62,-1,-56,-1,-51,-1,-42,-1,-36,-1,-29,-1,-20,-1,-15,-1,-3,-1,2,0,11,0,20,0,24,0,35,0,41,0,47,0,56,0,58,0,67,0,70,0,73,0,81,0,78,0,86,0,83,0,86,0,85,0,86,0,81,0,84,0,76,0,77,0,68,0,69,0,57,0,58,0,46,0,44,0,34,0,28,0,19,0,13,0,4,0,-3,-1,-12,-1,-18,-1,-28,-1,-31,-1,-45,-1,-43,-1,-58,-1,-57,-1,-66,-1,-68,-1,-75,-1,-76,-1,-81,-1,-81,-1,-84,-1,-83,-1,-86,-1,-81,-1,-83,-1,-79,-1,-77,-1,-74,-1,-67,-1,-67,-1,-57,-1,-55,-1,-47,-1,-40,-1,-34,-1,-27,-1,-19,-1,-11,-1,-4,-1,4,0,13,0,17,0,28,0,33,0,41,0,48,0,53,0,59,0,62,0,72,0,69,0,80,0,75,0,83,0,80,0,84,0,83,0,80,0,82,0,77,0,75,0,73,0,66,0,64,0,58,0,51,0,47,0,38,0,34,0,24,0,19,0,10,0,3,0,-3,-1,-16,-1,-14,-1,-32,-1,-30,-1,-42,-1,-47,-1,-52,-1,-59,-1,-63,-1,-69,-1,-70,-1,-75,-1,-78,-1,-79,-1,-82,-1,-80,-1,-82,-1,-78,-1,-82,-1,-74,-1,-75,-1,-70,-1,-65,-1,-65,-1,-52,-1,-54,-1,-43,-1,-39,-1,-32,-1,-24,-1,-16,-1,-12,-1,-1,-1,4,0,13,0,20,0,26,0,35,0,38,0,50,0,49,0,60,0,61,0,68,0,70,0,75,0,75,0,79,0,79,0,80,0,79,0,81,0,74,0,79,0,68,0,72,0,64,0,58,0,58,0,47,0,45,0,37,0,29,0,24,0,18,0,7,0,4,0,-8,-1,-11,-1,-21,-1,-27,-1,-32,-1,-42,-1,-44,-1,-55,-1,-55,-1,-63,-1,-65,-1,-71,-1,-71,-1,-78,-1,-75,-1,-80,-1,-76,-1,-80,-1,-76,-1,-78,-1,-73,-1,-70,-1,-68,-1,-63,-1,-58,-1,-56,-1,-46,-1,-44,-1,-34,-1,-31,-1,-21,-1,-18,-1,-6,-1,-3,-1,8,0,12,0,20,0,27,0,34,0,39,0,48,0,49,0,58,0,60,0,67,0,66,0,76,0,69,0,81,0,72,0,82,0,73,0,78,0,73,0,74,0,68,0,67,0,60,0,59,0,52,0,46,0,43,0,32,0,32,0,19,0,15,0,9,0,-1,-1,-5,-1,-14,-1,-21,-1,-26,-1,-35,-1,-38,-1,-48,-1,-48,-1,-58,-1,-60,-1,-64,-1,-69,-1,-70,-1,-73,-1,-74,-1,-77,-1,-74,-1,-77,-1,-75,-1,-70,-1,-76,-1,-62,-1,-70,-1,-56,-1,-60,-1,-49,-1,-46,-1,-41,-1,-32,-1,-30,-1,-18,-1,-16,-1,-5,-1,-3,-1,9,0,13,0,21,0,27,0,33,0,40,0,45,0,50,0,56,0,59,0,65,0,66,0,70,0,72,0,72,0,77,0,71,0,78,0,70,0,74,0,69,0,65,0,65,0,58,0,55,0,51,0,43,0,39,0,33,0,26,0,21,0,12,0,7,0,-1,-1,-7,-1,-13,-1,-23,-1,-24,-1,-37,-1,-35,-1,-48,-1,-49,-1,-54,-1,-60,-1,-63,-1,-65,-1,-71,-1,-68,-1,-74,-1,-73,-1,-72,-1,-76,-1,-69,-1,-71,-1,-69,-1,-63,-1,-64,-1,-57,-1,-53,-1,-49,-1,-44,-1,-35,-1,-36,-1,-22,-1,-21,-1,-11,-1,-6,-1,0,0,8,0,14,0,22,0,26,0,34,0,39,0,43,0,51,0,54,0,58,0,62,0,66,0,67,0,71,0,69,0,74,0,70,0,74,0,69,0,70,0,66,0,64,0,60,0,57,0,52,0,48,0,41,0,39,0,28,0,26,0,18,0,11,0,7,0,-2,-1,-8,-1,-15,-1,-20,-1,-28,-1,-32,-1,-40,-1,-43,-1,-51,-1,-51,-1,-60,-1,-60,-1,-65,-1,-67,-1,-68,-1,-71,-1,-70,-1,-71,-1,-70,-1,-71,-1,-65,-1,-68,-1,-60,-1,-61,-1,-55,-1,-51,-1,-45,-1,-44,-1,-32,-1,-33,-1,-22,-1,-17,-1,-13,-1,-3,-1,1,0,9,0,15,0,21,0,26,0,34,0,38,0,45,0,47,0,54,0,57,0,59,0,67,0,61,0,72,0,66,0,71,0,70,0,69,0,67,0,67,0,65,0,58,0,63,0,49,0,53,0,43,0,42,0,32,0,32,0,20,0,18,0}; }
	private static byte[] data21(){ return new byte[] {10,0,4,0,-2,-1,-8,-1,-16,-1,-20,-1,-29,-1,-31,-1,-40,-1,-41,-1,-50,-1,-52,-1,-56,-1,-60,-1,-63,-1,-64,-1,-68,-1,-66,-1,-70,-1,-67,-1,-70,-1,-65,-1,-66,-1,-62,-1,-61,-1,-55,-1,-55,-1,-47,-1,-45,-1,-38,-1,-34,-1,-28,-1,-22,-1,-16,-1,-10,-1,-3,-1,2,0,11,0,12,0,25,0,23,0,37,0,35,0,45,0,47,0,51,0,58,0,56,0,65,0,60,0,69,0,65,0,69,0,65,0,68,0,65,0,64,0,62,0,58,0,56,0,51,0,48,0,42,0,39,0,32,0,27,0,21,0,16,0,8,0,4,0,-4,-1,-9,-1,-16,-1,-20,-1,-29,-1,-31,-1,-38,-1,-44,-1,-46,-1,-51,-1,-56,-1,-57,-1,-62,-1,-63,-1,-64,-1,-65,-1,-68,-1,-63,-1,-70,-1,-60,-1,-66,-1,-58,-1,-57,-1,-56,-1,-49,-1,-48,-1,-40,-1,-37,-1,-32,-1,-25,-1,-23,-1,-11,-1,-12,-1,1,0,0,0,13,0,13,0,23,0,26,0,32,0,40,0,39,0,50,0,48,0,56,0,56,0,61,0,61,0,66,0,62,0,67,0,64,0,63,0,66,0,59,0,61,0,55,0,53,0,50,0,45,0,40,0,37,0,29,0,28,0,18,0,13,0,10,0,-1,-1,-1,-1,-11,-1,-17,-1,-19,-1,-30,-1,-29,-1,-41,-1,-39,-1,-48,-1,-49,-1,-54,-1,-57,-1,-59,-1,-62,-1,-61,-1,-65,-1,-63,-1,-64,-1,-64,-1,-61,-1,-60,-1,-59,-1,-54,-1,-53,-1,-47,-1,-44,-1,-41,-1,-34,-1,-31,-1,-21,-1,-24,-1,-7,-1,-14,-1,5,0,0,0,12,0,17,0,19,0,30,0,29,0,39,0,42,0,45,0,50,0,52,0,57,0,58,0,60,0,63,0,60,0,66,0,60,0,64,0,60,0,58,0,59,0,51,0,53,0,47,0,41,0,41,0,32,0,29,0,24,0,19,0,11,0,8,0,0,0,-4,-1,-11,-1,-15,-1,-23,-1,-26,-1,-32,-1,-38,-1,-39,-1,-48,-1,-46,-1,-55,-1,-53,-1,-60,-1,-57,-1,-62,-1,-61,-1,-61,-1,-63,-1,-61,-1,-58,-1,-60,-1,-53,-1,-55,-1,-48,-1,-47,-1,-41,-1,-39,-1,-31,-1,-30,-1,-20,-1,-21,-1,-8,-1,-9,-1,1,0,5,0,10,0,17,0,21,0,28,0,30,0,39,0,38,0,46,0,46,0,46,0,48,0,44,0,44,0,43,0,38,0,39,0,31,0,31,0,27,0,22,0,21,0,13,0,14,0,8,0,8,0,2,0,2,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-12.wav. */
	public Drum12(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-12.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-12.wav. */
	private class LoopThread extends Thread {
		private Drum12 clip;
		private boolean looping = true;
		public LoopThread(Drum12 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-12.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-12.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-12.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-12.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-12.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}